まず結論
len() は、文字列やリストの長さを調べる関数です。
name = "moco"
print(len(name))
この結果は 4 です。
len() は「中にいくつあるか」を数えるものです。
イメージで考える
len() は、箱や棚の中身を数えるカウンターのようなものです。
文字列なら文字カードの枚数を数えます。
リストなら入っている値の個数を数えます。
最後の番号ではなく、全部で何個あるかを返すと見ると混乱しにくいです。
文字列の長さ
文字列に使うと、文字数を返します。
word = "python"
print(len(word))
python は6文字なので、結果は 6 です。
リストの要素数
リストに使うと、要素の数を返します。
items = ["りんご", "みかん", "バナナ"]
print(len(items))
この結果は 3 です。
インデックスとはずれる
リストの最初は 0 番目です。
items = ["りんご", "みかん", "バナナ"]
print(items[0])
要素数は 3 ですが、最後のインデックスは 2 です。
そのため、最後を取り出すときに len(items) - 1 が出てくることがあります。
空のとき
空の文字列やリストなら、結果は 0 です。
print(len(""))
print(len([]))
どちらも 0 になります。
読み方のコツ
len(items) は「items の中に何個ある?」と読みます。
インデックス番号ではなく、個数を返す点だけ注意すると分かりやすいです。
手を動かすミニ練習
リストの中身を増やして、len() の結果が変わるか見てみましょう。
items = ["りんご", "バナナ"]
print(len(items))
items.append("みかん")
print(len(items))
len() は最後の番号ではなく、入っている個数を返します。
3行まとめ
- len()は長さや個数を調べる関数。
- 文字列なら文字数、リストなら要素数を返す。
- インデックスの最大値とは1ずれる点に注意。