ホームページ  >  記事  >  バックエンド開発  >  Python でリストから N 番目ごとの要素を効率的に抽出する方法は?

Python でリストから N 番目ごとの要素を効率的に抽出する方法は?

Susan Sarandon
Susan Sarandonオリジナル
2024-10-20 11:17:30125ブラウズ

How to Efficiently Extract Every Nth Element from a List in Python?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。