ホームページ >バックエンド開発 >Python チュートリアル >Python リストで重複するペアを効率的に反復するにはどうすればよいですか?
重複するペアを反復するためのスライディング ウィンドウ手法
Python でリストを操作する場合、多くの場合、要素の重複するペアを反復する必要があります。 。一般的なアプローチは、zip と zip[1:] を使用して、リスト内を独立して進む 2 つの反復子を作成することです。ただし、同じ結果を達成するためのより効率的または慣用的な方法がある可能性があります。
Itertools ペアワイズ関数
Python 3.8 では、itertools モジュールからペアワイズ関数が導入されています。この関数は反復可能を受け取り、要素の重複ペアを生成する反復子を返します。
Python バージョン 3.8 より前の場合、次の tee を使用して同様の関数を実装できます。
def pairwise(iterable): "s -> (s0, s1), (s1, s2), (s2, s3), ..." a, b = itertools.tee(iterable) next(b, None) return zip(a, b)
利点ペアワイズ
ペアワイズ関数には、従来の zip に比べていくつかの利点があります。アプローチ:
結論
従来の zip アプローチは機能しますが、ペアワイズ関数は、重複する要素のペアを反復処理するためのより効率的で慣用的な方法を提供します。パイソン。これは、処理または分析のためにデータのスライディング ウィンドウを作成する場合に特に役立ちます。
以上がPython リストで重複するペアを効率的に反復するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。