ホームページ >バックエンド開発 >Python チュートリアル >Pythonで同じ長さの複数のリストをインターリーブする方法は?

Pythonで同じ長さの複数のリストをインターリーブする方法は?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-15 22:00:04514ブラウズ

How to Interleave Multiple Lists of Equal Length in Python?

Python で同じ長さの複数のリストをインターリーブする

Python では、同じ長さの複数のリストを結合する必要がある場合があります。単一のインターリーブリストに変換されます。たとえば、[1, 2, 3] と [10, 20, 30] という 2 つのリストがあり、それらを [1, 10, 2, 20, 3, 30] に変換するとします。

これを実現する簡単なアプローチの 1 つは、Python の zip() 関数を利用することです。この関数は、2 つの反復可能オブジェクトの対応する要素をタプルに結合します。 zip() をリストに適用し、結果のタプルをループすることで、インターリーブされたリストを効率的に構築できます。これは次のコードで表現できます:

[val for pair in zip(l1, l2) for val in pair]

ここで、l1 と l2 は入力リストを表します。

3 つ以上のリストが関係する場合、アスタリスクを使用して同じ概念を拡張できます。 (*) 演算子を zip() と組み合わせて、複数のリスト間のインターリーブを実現します。これは次のように表すことができます:

lists = [l1, l2, ...]
[val for tup in zip(*lists) for val in tup]

これらの手法を利用すると、Python で同じ長さのリストを簡単にインターリーブでき、データ操作要件に対する簡潔で効率的なソリューションを提供できます。

以上がPythonで同じ長さの複数のリストをインターリーブする方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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