01 / 06
何個あるか知りたい
append で足したり pop で消したりしていると、いま何個あるのか分からなくなる。
for で1つずつ数えることもできるけれど、そのために4行も書くのはもったいない。Pythonには数えるための道具が用意されているよ。
くり返しとデータの持ち方
INPUT · スライド
01 / 06
append で足したり pop で消したりしていると、いま何個あるのか分からなくなる。
for で1つずつ数えることもできるけれど、そのために4行も書くのはもったいない。Pythonには数えるための道具が用意されているよ。
02 / 06
len(レン。length =長さの略)のカッコにリストを渡すと、入っている個数が返ってくる。
print と同じように、カッコの中に渡して呼ぶ形だね。
kudamonos = ["りんご", "みかん", "ぶどう"]print(len(kudamonos))実行結果
3
03 / 06
何も入っていないリストの長さは 0。エラーにはならないよ。
だから if len(kudamonos) == 0: と書けば、「1件も無いとき」を見分けられる。データが空のときの表示を変える、というのは実際のアプリでよくある仕事だよ。
kudamonos = []print(len(kudamonos))if len(kudamonos) == 0: print("からっぽ")実行結果
0 からっぽ
04 / 06
3つ入っているリストの番号は 0 1 2。つまり 最後の番号は len から1を引いた数だよ。
ここを取りちがえると IndexError になる。個数と最後の番号は必ず1ずれると、口に出して覚えてしまおう。
kudamonos = ["りんご", "みかん", "ぶどう"]print(len(kudamonos))print(kudamonos[len(kudamonos) - 1])実行結果
3 ぶどう
05 / 06
len と range を組み合わせると、番号のほうをくり返せる。
range(3) が 0 1 2 を出すことを思い出そう。range(len(kudamonos)) なら、そのリストの番号がちょうど全部出てくるんだ。
中身だけ欲しいなら素直に for kudamono in kudamonos: でいい。番号そのものを使いたいときにこの形を選ぶよ。
kudamonos = ["りんご", "みかん", "ぶどう"]for i in range(len(kudamonos)): print(i, kudamonos[i])実行結果
0 りんご 1 みかん 2 ぶどう
06 / 06
実は len はリスト専用ではない。文字を渡すと文字数を返してくれる。
Pythonは「並んでいるもの」を同じ道具で扱えるように作られている。リストで覚えたことが文字にも効く——この気づきが、次のグループのテーマだよ。
print(len("こんにちは"))print(len(["りんご", "みかん"]))実行結果
5 2