ホームページ > バックエンド開発 > Python チュートリアル > Python で長さが等しくない 2 つのリストをインターリーブする方法

Python で長さが等しくない 2 つのリストをインターリーブする方法

Patricia Arquette
リリース: 2024-12-02 05:44:09
オリジナル
863 人が閲覧しました

How to Interleave Two Lists of Unequal Lengths in Python?

Python で 2 つのリストを交互にインターレースする

2 つのリストを交互に結合する場合、最初のリストの要素は 2 番目のリストよりも 1 つ多くなります。 , Python にはいくつかのアプローチがあります。

1 つの方法では、 lists:

list1 = ['f', 'o', 'o']
list2 = ['hello', 'world']
result = [None]*(len(list1)+len(list2))
result[::2] = list1
result[1::2] = list2
ログイン後にコピー

このアプローチでは、入力リストを結合した長さに等しい長さの新しいリストが作成されます。 list1 の偶数インデックス値と list2 の奇数インデックス値を新しいリストに割り当て、目的のインターリーブ効果が得られます。

あるいは、itertools モジュールの zip_longest() 関数を使用することもできます。

from itertools import zip_longest
result = list(zip_longest(list1, list2, fillvalue=None))
ログイン後にコピー

zip_longest() はリストを要素ごとに結合し、欠落している値を指定された fillvalue で埋めます。 fillvalue として None を指定するため、要素が 1 つ少ないリストには None 値が埋め込まれ、目的のインターレースが実現されます。 zip_longest() によって返されたジェネレーターをリストに変換することで、最終結果が得られます。

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

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