Python入門トップページ


目次

  1. プログラミング言語
  2. Anaconda - Jupyter Notebook / JupyterLab の環境設定
  3. Python の基礎
  4. リスト,タプル,辞書,集合
  5. 再び Jupyter Notebook の操作
  6. Python の制御構文
    1. コメント
    2. if による条件分岐
    3. while による繰り返し
    4. for による繰り返し
    5. range による数値シーケンス
    6. enumerate による繰り返し
    7. zip による繰り返し
  7. 関数
  8. 便利な関数など
  9. リストの内包表記
  10. 多次元リスト
  11. クラス
  12. 演習問題
  13. 雑多な情報

Python の基礎

Python の制御構文

zip による繰り返し

zip を使えば,複数のリストを並行して反復処理することができます.例えば,weekdaysyobi という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 金

目次に戻る