zip
を使えば,複数のリストを並行して反復処理することができます.例えば,weekdays
と yobi
という2つのリストから順に取り出して辞書を作成することができます.
weekdays = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]
yobi = ["月", "火", "水", "木", "金", "土", "日"]
dict(zip(weekdays, yobi))
{'Mon': '月', 'Tue': '火', 'Wed': '水', 'Thu': '木', 'Fri': '金', 'Sat': '土', 'Sun': '日'}
for
と共に利用すると,並行して反復処理ができるようになります.
weekdays = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]
yobi = ["月", "火", "水", "木", "金", "土", "日"]
for eng, jpn in zip(weekdays, yobi):
print(eng, jpn)
Mon 月 Tue 火 Wed 水 Thu 木 Fri 金 Sat 土 Sun 日
なお,2つのリストの長さが異なるときは,短いリストの処理が終わった時点で繰り返しが停止します.例えば,weekdays
が短いときには次のような結果になり,yobi
の「土」と「日」は処理されません.
weekdays = ["Mon", "Tue", "Wed", "Thu", "Fri"]
yobi = ["月", "火", "水", "木", "金", "土", "日"]
for eng, jpn in zip(weekdays, yobi):
print(eng, jpn)
Mon 月 Tue 火 Wed 水 Thu 木 Fri 金
逆に,yobi
が短いときにも同じ結果になり,weekdays
の「Sat」と「Sun」は処理されません.
weekdays = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]
yobi = ["月", "火", "水", "木", "金"]
for eng, jpn in zip(weekdays, yobi):
print(eng, jpn)
Mon 月 Tue 火 Wed 水 Thu 木 Fri 金