前回ループに関するプログラムを紹介したし、今回はループの時に知っていると便利なテクニックを紹介するね!
ほうほう
最初は現在のループ回数をカウントしてくれる「enumerate()」だよ
おお!今までは毎回ループを数えるための変数を用意してたけど、必要なくなるんだね!
ちなみに、もし0以外から数えたい場合は「enumerate(l, 1)」ってすれば良いよ
次は、複数の配列や文字列などを一気にループさせる「zip()」を紹介!
2重ループになると複雑になってくるから、これだとスッキリして良いね!
ところで、もし要素の長さが違う場合だとどうなるの??
要素の長さが違う場合は短い方の長さだけループするようになるよ!
長さが違ってもエラーが出ないなら安心だね!
最後に、ループを使って配列に要素を追加する時に便利な「内包表記」について紹介するね!
ないほうひょうき...??聞き慣れない言葉だね
実はPythonの1番特徴的な表記方法で、内包表記を使うことで処理が高速になるから、Pythonを使うならぜひ覚えておくべきものだよ!
そうなんだね!
コレに関しては習うより慣れろってところもあるから、プログラムが内包表記を使っているかどうかで比較して確認しよう
すごくスッキリするね!!
でも、forループの中身が1行の時しか使えなくない??
大丈夫!もし複雑になる場合はループの中身を関数にして、「return」で結果を送ってあげると大丈夫だよ
おおー!じゃあ配列に要素を入れるためのループ中の処理はどんなプログラムでも内包表記できるんだね!
慣れるまではちょっと分かりにくいかもしれないけど、慣れれば便利だからぜひ使えるようになろうね
ちなみに、辞書型と集合型でも内包表記ができるから形だけ紹介しておくね!
| 型 | 構文 | 例 | 説明 |
|---|---|---|---|
リスト(list) | [式 for 変数 in イテラブル] | [x*x for x in range(5)] | 0~4の平方をリスト化 |
辞書(dict) | {キー式: 値式 for 変数 in イテラブル} | {x: x*x for x in range(5)} | キーと値に数とその平方を使った辞書 |
集合(set) | {式 for 変数 in イテラブル} | {x % 3 for x in range(5)} | 0~4を3で割った余りの集合 |
