Search this site
Embedded Files
AIMD GPDS Courses
  • Home
  • Courses
  • Contact
AIMD GPDS Courses
  • Home
  • Courses
  • Contact
  • More
    • Home
    • Courses
    • Contact

English  ❯

レッスン 3   ❮   レッスン一覧    ❮    トップ

3.1  タプル型

3.2  集合型

3.3  辞書型

3.4  辞書型のループ処理

❯  3.5  zip と enumerate

⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺
推定完了時間
❲▹❳  動画   9m48s
☷  コード資料   5m
▸ レッスン 3コードまとめ資料PDF


zip()による2つのイテラブルをペアリング

zip(iter1,iter2,...)関数は、複数のイテラブル(リスト、タプル、辞書など)を受け取り、それらをタプルに結合して返します。

直接プリントすることはできないので、ここではforループを使います。

zipによる辞書への変換

zipオブジェクトは基本的に2つのタプルの集まりなので、dict()を使って簡単に辞書に変換することができます。

アイテムenumerate()によるインデックスの取得

コンテナのインデックスを取得するために len()やrange()を使うのは煩わしい場合があります。

enumerate(コンテナ, start=num)は、コンテナ内のアイテムのインデックスのイテレート(zipのようなもの)を与えます。

これは、zip()メソッドと組み合わせることもできます。また、zipと同じく、直接プリントすることはできません。

オブジェクトの解凍

タプルのリストがあり、各タプルの要素を独立したシーケンスに分けたいとします。これを行うには、zip()と解凍演算子*を使用します。

これは、辞書では使えません。

エラーから学ぶ
zipやenumerateを何度も解凍すると問題が発生

zipとenumerateはどちらも枯渇型のイテレータです。すなわち、一度解凍すると枯渇して使えなくなります。

複数回解凍したい場合は、イテレータを明示的にリストやタプルに変換する必要があります。このエラーを解決するために、4行目のzip()をtuple()で囲みましょう。

イテレータをタプルやリストに変換すると、プログラムの実行時間が長くなることを覚えておいてください。

©2023. All rights reserved.  Samy Baladram,
Graduate Program in Data Science - GSIS - Tohoku University
Google Sites
Report abuse
Page details
Page updated
Google Sites
Report abuse