連続するリスト項目ペアの反復子
要素のリストが与えられた場合、リスト内の項目の連続するペアを反復処理する必要がある場合があります。 for ループを使用してリストを一度に 1 要素ずつ反復処理し、連続する項目を手動で取得することもできますが、Python イテレーターを使用してこれを実現する、よりコンパクトで効率的な方法があります。
zip() 関数
Python の zip() 関数は、複数のイテラブルの対応する要素からタプルを作成できるようにする組み込みイテレータです。この場合、zip() を使用して、連続するリスト項目のタプルを作成できます。例:
l = [1, 7, 3, 5] for first, second in zip(l, l[1:]): print(first, second)
このコードは次の出力を行います:
1 7 7 3 3 5
zip() 関数は 2 つの引数を受け取ります。1 つ目は元のリストで、2 つ目は元のリストです。最初の要素が削除されました (l[1:] を使用して達成されます)。次に、対応する要素をタプルに結合し、これらのタプルに対する反復子を作成します。
itertools.izip() を使用する
Python 2 ユーザーの場合、itertools モジュールは代替手段を提供します。 izip()という関数。この関数は zip() に似ていますが、遅延評価できる izip オブジェクトを返し、メモリ内に新しいリストを作成する必要はありません。ただし、より効率的で使いやすいため、Python 3 では zip() を使用することをお勧めします。
以上がPython リスト内の項目の連続したペアを反復処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。