ホームページ  >  記事  >  バックエンド開発  >  Python でスライスを使用してリストから N 番目ごとの項目をエレガントに抽出する方法

Python でスライスを使用してリストから N 番目ごとの項目をエレガントに抽出する方法

Barbara Streisand
Barbara Streisandオリジナル
2024-10-20 11:38:30914ブラウズ

How to Elegantly Extract Every Nth Item from a List in Python with Slicing?

リスト内の N 番目ごとの項目を抽出するワンライナー アプローチ

Python で、元のリスト内の N 番目ごとの項目を含む新しいリストを作成するリストはさまざまな方法で取得できます。 for ループは簡単なオプションですが、最も効率的または簡潔なアプローチではない可能性があります。

よりエレガントで計算効率の高い解決策は、Python のスライス構文を利用することです。 0 ~ 1000 の範囲の整数のリストを考えてみましょう:

<code class="python">xs = list(range(1000))</code>

最初の項目とその後の 10 番目ごとの項目を抽出するには、次のコードを使用できます:

<code class="python">xs[0::10]</code>

このスライス表記は次のことを示します。インデックス 0 から開始し、10 間隔で項目を取得したいとします。結果は、目的の要素を含む新しいリストになります。

<code class="python">[0, 10, 20, 30, ..., 990]</code>

このスライス手法は、簡潔であるだけでなく、ループ。パフォーマンス ベンチマークでは、リストを反復処理して各要素の係数をチェックするよりも約 100 倍高速であることが示されています。

以上がPython でスライスを使用してリストから N 番目ごとの項目をエレガントに抽出する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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