ホームページ  >  記事  >  バックエンド開発  >  Python で複数のリストをインターリーブする方法?

Python で複数のリストをインターリーブする方法?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-20 21:38:15963ブラウズ

How to Interleave Multiple Lists in Python?

複数のリストのインターリーブ: Python 的アプローチ

Python では、同じ長さのリストをインターリーブするのが一般的なタスクです。 2 つのリスト [1,2,3] と [10,20,30] の例を考えてみましょう。私たちの目標は、それらを [1,10,2,20,3,30] に変換することです。

簡潔な解決策として、zip 関数でリスト内包表記を使用できます。 zip 関数は 2 つのリストを受け取り、各ペアに各リストの 1 つの要素が含まれるペアのリストを作成します。これらのペアを反復処理し、ペア内のすべての要素を含めて新しいリストを作成します。コードは次のとおりです:

l1 = [1, 2, 3]
l2 = [10, 20, 30]
result = [val for pair in zip(l1, l2) for val in pair]
print(result)  # Output: [1, 10, 2, 20, 3, 30]

このアプローチは、リストのペアをインターリーブする場合に効率的に機能します。ただし、インターリーブする複数のリスト (N 個のリストなど) がある場合、この解決策を次のように拡張できます。

lists = [l1, l2, ...]  # Assume lists contains N lists
result = [val for tup in zip(*lists) for val in tup]
print(result)

zip 関数のリストの前に * 演算子を使用することで、リストのリストを解凍できます。を個々の引数に分割することで、すべてのリストを同時にインターリーブできるようになります。この手法は、任意の長さの複数のリストを処理する場合に便利です。

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

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