Pythonを使用していて複数のリストを同時にFOR文で回して処理したい。そんなことを考えたことはないでしょうか?自分はあります。
そんなときはZIP構文を使うことで複数のリストを同時にFOR文で回して処理することが可能です。というわけでそのサンプルコードを紹介したいと思います。
ZIP構文で複数のリストを同時にfor文で回すサンプルコード
name_list = ["A", "B", "C"] age_list = [34, 55, 98] result = zip(name_list, age_list) print(result)
<実行結果>
<zip object at 0x7fd4070bc780>
この時点でZIPでまとめたものはイテレーターになっているので、for文で中身を確認します。
for name, age in result: print(name, age)
<実行結果>
A 34 B 55 C 98
もし2つのリストを多次元配列のリストに変換したい場合は以下のように記述します
a = [] for name, age in result: a.append([name, age]) print(a)
<実行結果>
[['A', 34], ['B', 55], ['C', 98]]
またZIPでまとめたものは一度for文にかけてしますと中身が空になるのでもう一度使う場合は再度ZIPでまとめる必要があります。
またzip()の引数の要素数が異なる場合は、要素数が小さい方に合わせられ残りの要素を捨てられます。
name_list = ["A", "B", "C"] age_list = [34, 55] result = zip(name_list, age_list) for name, age in result: a.append([name, age])
<実行結果>
[['A', 34], ['B', 55]]
コメント
[…] 参照:【Python】ZIP構文で複数のリスト型配列をfor文で同時に回すサンプルコード […]