ホームページ > バックエンド開発 > Python チュートリアル > Python スライスを使用してリストから N 番目ごとの要素を抽出する方法

Python スライスを使用してリストから N 番目ごとの要素を抽出する方法

Linda Hamilton
リリース: 2024-10-20 11:10:02
オリジナル
790 人が閲覧しました

How to Extract Every Nth Element from Lists Using Python Slicing

Python を使用したリストからの N 番目の要素の抽出

このタスクは、指定されたリストから後続の N 番目の項目をすべて抽出することです。たとえば、整数のリスト [0, 1, 2, 3, ..., 997, 998, 999] が与えられた場合、目標は、最初とその後の 10 番目ごとの項目を含む新しいリストを取得することです。その結果、[0, 10, 20, 30, ..., 990].

モジュラス チェックを伴う for ループは単純なアプローチですが、Python のスライス演算子を使用したより簡潔で効率的なソリューションが存在します。

<code class="python">xs = list(range(1000))
new_list = xs[0::10]</code>
ログイン後にコピー

この行は、1 行のコードでタスクを実行します。構文 xs[0::10] はスライス式です。

  • 0 は開始インデックス (両端を含む) を指定します。
  • ::10 はステップであり、実行することを示します。 10 番目の要素ごと。

結果の new_list には、必要な要素 [0, 10, 20, 30, ..., 990] が含まれます。

パフォーマンスの比較

ベンチマークの結果、このスライス アプローチは for ループ ソリューションよりも大幅に高速であることがわかります。

$ python -m timeit -s "xs = list(range(1000))" "[x for i, x in enumerate(xs) if i % 10 == 0]"
517 loops, best of 5: 471.776 usec per loop

$ python -m timeit -s "xs = list(range(1000))" "xs[0::10]"
100000 loops, best of 5: 4.03 usec per loop
ログイン後にコピー

これは、リストから N 番目ごとに項目を抽出するスライス アプローチの効率性とシンプルさを示しています。パイソン。

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

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート