← クエスト一覧

クエスト19:zip()で2つのリストを合体

スライド 1 / 5
コーデ
💻 コード例
実行結果
← クエスト一覧
🐍 Python / Quest 19 / 85

クエスト19:zip()で2つのリストを合体

応用 +10 XP
🏠
今回の課題
2つのリスト(名前と点数)を zip() で組み合わせて、「名前: 点数」の形で表示しよう。
📖 解説を見る
🤝 zip()って何?

zip(リスト1, リスト2) を使うと、2つのリストを先頭からペアにして同時にループできます。

✏️ 書き方:
fruits = ['りんご', 'みかん']
prices = [120, 80]
for fruit, price in zip(fruits, prices):
    print(fruit, price)

 → りんご 120
みかん 80

enumerate() のときと同じで、for の変数を2つ書いて受け取ります。

📋 作るもの:
namesscoreszip() でペアにしてまわす
・「名前: 点数」の形で1行ずつ表示する(コロンのうしろに半角スペース)
たろう: 80 / はな: 92 / けんた: 75 の3行になる

💡 どこで使う?

名前と点数、商品名と価格、質問と答えなど、対応する2つのリストをペアで扱いたいときに使います。dict(zip(names, scores)) と書けば、そのまま対応表(辞書)も作れます。

⚠️ ポイント:
・短い方のリストに合わせてペアが作られる
・3つ以上のリストも zip(a, b, c) でOK
ヒントを見る
zip(リスト1, リスト2) を for でまわすと、対応する2つを同時に受け取れるよ。表示は f文字列で「名前: 点数」の形に組み立てよう。
期待する出力
たろう: 80
はな: 92
けんた: 75
📄 見本
「答えを見る」を押すと、お手本のコードが出ます。クリックでコピーできます。
💻 コードエディタ
実行すると結果がここに表示されます
正解!見本と同じになりました。
次へ →
🏠 ホームへ

れんしゅうもんだい

☑ 0 / 3 正解 レッスンに戻る

全問正解でクエストクリア!

未挑戦

問題 1: zip()で['a','b','c']と[1,2,3]を組み合わせてそれぞれ表示しよう!(a: 1 の形で)

実行結果
実行できたよ!
もう一度チャレンジ!
📄 見本の出力
a: 1 b: 2 c: 3
未挑戦

問題 2: zip()で対応する要素の合計をそれぞれ表示しよう!リスト1=[1,2,3]、リスト2=[10,20,30]

実行結果
実行できたよ!
もう一度チャレンジ!
📄 見本の出力
11 22 33
未挑戦

問題 3: zip()dict()で{'a':1,'b':2,'c':3}という辞書を作って表示しよう!

実行結果
実行できたよ!
もう一度チャレンジ!
📄 見本の出力
{'a': 1, 'b': 2, 'c': 3}
コピーしました!