Python でリストから N 番目ごとの要素を抽出する
選択など、リストから N 番目ごとの要素を抽出するタスクに直面したとき0 から 1000 までの整数のリストから 10 番目の項目ごとに、単純なアプローチでは、for ループを使用してリストを反復処理し、各要素のインデックスの係数を N ずつチェックする必要があります。ただし、より効率的で洗練された方法が存在します。 1 行のコードで同じ結果を達成できます。
Python のスライス構文を使用すると、ステップ サイズ N を指定して N 番目ごとの要素を抽出できます。提供された例では、次のコード:
<code class="python">xs = list(range(165)) result = xs[0::10]</code>
このメソッドは、次の時間比較で示されているように、各要素のインデックスを繰り返しチェックするよりもかなり高速です:
$ python -m timeit -s "xs = list(range(1000))" "[x for i, x in enumerate(xs) if i % 10 == 0]" 500 loops, best of 5: 476 usec per loop $ python -m timeit -s "xs = list(range(1000))" "xs[0::10]" 100000 loops, best of 5: 3.32 usec per loop
スライス構文を利用することで、効率的に次のことができます。 Python のリストから N 番目ごとの要素を抽出します。これは、速度が懸念される大きなリストの場合に特に有益です。
以上がPython でリストから N 番目ごとの要素を効率的に抽出する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。