ホームページ >バックエンド開発 >Python チュートリアル >Python リスト内の要素の連続ペアを反復処理するにはどうすればよいですか?

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

Susan Sarandon
Susan Sarandonオリジナル
2024-11-08 06:23:02861ブラウズ

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

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