タイトル画像
琴葉茜

前回ループに関するプログラムを紹介したし、今回はループの時に知っていると便利なテクニックを紹介するね!

琴葉葵

ほうほう

琴葉茜

最初は現在のループ回数をカウントしてくれる「enumerate()」だよ

解説画像1
琴葉葵

おお!今までは毎回ループを数えるための変数を用意してたけど、必要なくなるんだね!

琴葉茜

ちなみに、もし0以外から数えたい場合は「enumerate(l, 1)」ってすれば良いよ

琴葉茜

次は、複数の配列や文字列などを一気にループさせる「zip()」を紹介!

解説画像2
琴葉葵

2重ループになると複雑になってくるから、これだとスッキリして良いね!
ところで、もし要素の長さが違う場合だとどうなるの??

琴葉茜

要素の長さが違う場合は短い方の長さだけループするようになるよ!

解説画像3
琴葉葵

長さが違ってもエラーが出ないなら安心だね!

琴葉茜

最後に、ループを使って配列に要素を追加する時に便利な「内包表記」について紹介するね!

解説画像4
琴葉葵

ないほうひょうき...??聞き慣れない言葉だね

琴葉茜

実はPythonの1番特徴的な表記方法で、内包表記を使うことで処理が高速になるから、Pythonを使うならぜひ覚えておくべきものだよ!

琴葉葵

そうなんだね!

琴葉茜

コレに関しては習うより慣れろってところもあるから、プログラムが内包表記を使っているかどうかで比較して確認しよう

解説画像5
琴葉葵

すごくスッキリするね!!
でも、forループの中身が1行の時しか使えなくない??

琴葉茜

大丈夫!もし複雑になる場合はループの中身を関数にして、「return」で結果を送ってあげると大丈夫だよ

解説画像6
琴葉葵

おおー!じゃあ配列に要素を入れるためのループ中の処理はどんなプログラムでも内包表記できるんだね!

琴葉茜

慣れるまではちょっと分かりにくいかもしれないけど、慣れれば便利だからぜひ使えるようになろうね

琴葉茜

ちなみに、辞書型と集合型でも内包表記ができるから形だけ紹介しておくね!

構文説明
リスト(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で割った余りの集合