Python リスト内の要素の連続ペアを反復処理するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-11-08 06:23:02
オリジナル
721 人が閲覧しました

How to Iterate Through Consecutive Pairs of Elements in a Python List?

組み込みの Python イテレータを使用したリスト要素のペアごとの反復

Python でリストを操作する場合、要素の連続したペアを反復する必要がある場合があります。従来のアプローチでは、次の例に示すように、for ループを使用して要素のインデックスを反復処理します。

l = [1, 7, 3, 5]
for i in range(len(l) - 1):
    x = l[i]
    y = l[i + 1]
    # do something
ログイン後にコピー

このアプローチは効果的ですが、大きなリストを扱う場合は退屈になる可能性があります。ここでは、Python の組み込み反復子を使用したより簡潔な解決策を示します。

Zip 関数

zip 関数を使用すると、2 つ以上の反復可能オブジェクトの要素をペアにすることができます。リスト l 内の連続する要素のペアを反復処理するには、l[1:]:

for first, second in zip(l, l[1:]):
    # do something
ログイン後にコピー

を使用して、それ自体をシフトしたバージョンとペアにすることができます。このソリューションは簡潔かつ効率的であり、次の用途に最適です。リストペアの処理。

Python 2 用 itertools モジュール

Python 2 では、 itertools モジュールは、大きなリストのメモリ効率を高めることができます。 zip とは異なり、ペアを遅延的に生成し、中間リストの作成を回避します。

import itertools

for first, second in itertools.izip(l, l[1:]):
    # do something
ログイン後にコピー

このソリューションは、Python 3 の zip 関数と同じ機能を提供しながら、メモリの効率的な使用を保証します。

以上がPython リスト内の要素の連続ペアを反復処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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