pythonのzip()
を使うと、リストなどをまとめて扱うことができる。
zip()は複数のイテラブルオブジェクト(リストやタプルなど)の要素をまとめる関数
test.py
names = ['AAA', 'BBB', 'CCC', 'DDD']
ages = [10, 20, 30, 40]
for name, age in zip(names, ages):
print(name, age)
$ python test.py
AAA 10
BBB 20
CCC 30
DDD 40
しかし、リストの大きさが違う場合は短い方を基準に扱われる。
(長い方は扱われない要素が出てくる)
test.py
names = ['AAA', 'BBB', 'CCC', 'DDD']
ages = [10, 20, 30]
for name, age in zip(names, ages):
print(name, age)
$ python test.py
AAA 10
BBB 20
CCC 30
リストの大きさが違う場合に長さが長い方を基準に扱いたい場合はzip_longest
を使うと便利である。
長い方に処理を合わせてくれる。(存在しないデータはNone
と表示してくれる)
test.py
from itertools import zip_longest
names = ['AAA', 'BBB', 'CCC', 'DDD']
ages = [10, 20, 30]
for name, age in zip_longest(names, ages):
print(name, age)
$ python test.py
AAA 10
BBB 20
CCC 30
DDD None
それだけです。