ホームページ >バックエンド開発 >Python チュートリアル >長さが等しくない 2 つのリストを Python でインターリーブするにはどうすればよいですか?
リストのPythonic Interleaving
2つのリストを交互に組み合わせるのは、プログラミングにおける一般的なタスクです。最初のリストの項目が 2 番目のリストよりも 1 つだけ多い場合、Python でこれを実現する方法がいくつかあります。以下に、Python のオプションをいくつか示します。
1.スライスの使用:
1 つの方法は、スライスを使用して、両方のリストの要素をインターリーブする新しいリストを作成することです。これは、次の手順で実行できます。
例を示します:
list1 = ['f', 'o', 'o'] list2 = ['hello', 'world'] result = [None]*(len(list1)+len(list2)) result[::2] = list1 result[1::2] = list2 print(result)
出力:
['f', 'hello', 'o', 'world', 'o']
2. itertools パッケージの使用:
Python の itertools パッケージには、指定された間隔でリストの要素を反復処理するために使用できる islice と呼ばれる便利な関数が用意されています。これを使用して 2 つのリストをインターリーブする方法は次のとおりです:
import itertools list1 = ['f', 'o', 'o'] list2 = ['hello', 'world'] result = list(itertools.chain(*itertools.zip_longest(list1, list2))) print(result)
出力:
['f', 'hello', 'o', 'world', 'o']
以上が長さが等しくない 2 つのリストを Python でインターリーブするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。