BETA

2つのリストの要素が交互に格納されたタプルの作成

投稿日:2020-04-21
最終更新:2020-04-21

実行環境

Python 3.8.2

要素が交互に格納されたタプルの作成

s1 = ["a", "b"]  
s2 = ["c", "d"]  

sum(zip(s1, s2), ())  # ('a', 'c', 'b', 'd')  

当然3つ以上でも可能。
zipは渡すリストの長さが異なると、一番小さい長さまでしか要素が格納されないので注意。

s1 = ["a", "b", "c", "d"]  
s2 = ["e", "f"]  
s3 = ["g", "h", "i"]  

list(zip(s1, s2, s3))  # [('a', 'e', 'g'), ('b', 'f', 'h')]  

そのため結合すると('a', 'e', 'g', 'b', 'f', 'h')になる。

間に挿入(した風)

同じ容量でできる。

s1 = ["a", "b", "c"]  
s2 = ["_"] * len(s1)  

sum(zip(s1, s2), ())[:-1]  # ('a', '_', 'b', '_', 'c')  

スライスしないと('a', '_', 'b', '_', 'c', '_')になる。

技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!
or 外部アカウントで 登録 / ログイン する
クランチについてもっと詳しく

この記事が掲載されているブログ

A03kiの技術ブログ

よく一緒に読まれる記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう