ホームページ > バックエンド開発 > Python チュートリアル > Zip と List Comprehension を使用して Python でリストをインターリーブするにはどうすればよいですか?

Zip と List Comprehension を使用して Python でリストをインターリーブするにはどうすればよいですか?

DDD
リリース: 2024-11-15 21:06:03
オリジナル
249 人が閲覧しました

How can I Interleave Lists in Python using Zip and List Comprehension?

リストのインターリーブに ZIP およびリスト内包表記を利用する

Python で同じ長さのリストをインターリーブするのは一般的なタスクです。 2 つのリスト [1,2,3] と [10,20,30] が与えられた場合、目標はそれらを [1,10,2,20,3,30] に変換することです。

解決策Zip とリスト内包表記の使用:

リストをインターリーブするための簡潔なアプローチは、zip 関数とリスト内包表記を利用することです。次のコードは、このタスクを実行します。

[val for pair in zip(l1, l2) for val in pair]
ログイン後にコピー

このコードでは:

  • zip(l1, l2) は、2 つの入力リストからの要素のペアを反復処理します。
  • 外側のリスト内包表記 ([val for par in zip(l1, l2)]) は、各ペアの新しいリストを作成します。
  • 内側のリスト内包表記 ([val for val in couple]) は、新しいリストを作成します

複数のリストをインターリーブするための拡張機能:

インターリーブするリストが複数ある場合 (N リスト)、同じ概念を使用できます。 zip 内で * 演算子を使用して拡張できます:

lists = [l1, l2, ...]
[val for tup in zip(*lists) for val in tup]
ログイン後にコピー

このコードでは:

  • zip(*lists) は、すべての入力リストからの対応する要素のタプルを反復処理します。
  • 外側のリスト内包表記 ([val for tup in zip(*lists)]) は、タプルごとに新しいリストを作成します。
  • 内側のリスト内包表記 ([val for val in tup]) は、新しいリストを作成します値の各タプルのリスト。

以上がZip と List Comprehension を使用して Python でリストをインターリーブするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート