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

Barbara Streisand
リリース: 2024-10-20 11:38:30
オリジナル
913 人が閲覧しました

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

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!