Pythonのプログラミングで「リストの中にいくつ要素があるか?」や「特定の値はいくつあるか?」を調べたい場面はよくあります。
この記事では、リストの要素数や特定の値の数を調べる方法として、Pythonでよく使われる以下の2つのメソッドを初心者向けにわかりやすく解説します。
len()
(リストの要素の「総数」を調べる)count()
(指定した値が「何回」出てくるかを調べる)
len()とcount()の違い
メソッド名 | 説明 | 例 |
---|---|---|
len() | リストの要素の総数を返す | len([1, 2, 3]) → 3 |
count() | 指定した値が何回登場するかを返す | [1, 2, 2, 3].count(2) → 2 |
len()の使い方
len()の型
変数名 = [数値("文字")1,数値("文字")2,....,]
len(変数名)
len()の使用方法は変数を入れるだけです。
len() で全要素数を数える
fruits = ["apple", "banana", "orange"]
print(len(fruits))
List型は要素を追加、削除することが可能です。要素数が変わるのでlen()を用いることで簡単に要素数を調べられます。
結果
3
ポイント
- 空のリスト:
len([])
→0
- 入れ子リスト:
len([[1, 2], [3, 4]])
→2
(外側の要素数) - 引数にリストを渡すだけ
- 文字列やタプルなど、他のデータ型にも使える
count()の使い方
count()の型
array.count(x)
arrayの中でxの出現回数をカウントします。
count() で特定の値の数を数える
list1 = [80, 46, 66, 80, 80]
print(list1.count(80))
countの引数に調べたい要素を指定して、リストの中を探索した結果を出力しています。
結果
3
ポイント
- 存在しない値を指定した場合:
list1.count(999)
→0
- 文字列にも使えます:
["apple", "banana", "apple"].count("apple")
→2
- 大文字小文字は区別される(
"Apple"
と"apple"
は別)
条件付きで数える
例1: 文字数が5文字以上の果物
fruits = ["apple", "banana", "kiwi", "orange"]
count_long = sum(1 for fruit in fruits if len(fruit) >= 5)
print(count_long)
結果
3
例2: 偶数だけを数える
numbers = [1, 2, 3, 4, 6, 8]
count_even = sum(1 for n in numbers if n % 2 == 0)
print(count_even)
結果
4
よくあるエラーと対策
エラー例 | 原因 | 対策 |
---|---|---|
TypeError: object of type 'int' has no len() | 数値はlenできない | リストや文字列に変換 |
AttributeError: 'list' object has no attribute 'countt' | メソッド名のタイプミス | 正しくは count |
応用例:リストの中で一番多い要素を見つける
fruits = ["apple", "banana", "apple", "orange", "apple", "banana"]
most_common = max(set(fruits), key=fruits.count)
print(most_common)
結果
apple
まとめ
機能 | 使うメソッド | 例 |
---|---|---|
要素の数を調べる | len() | len([1, 2, 3]) → 3 |
特定の値を数える | count() | [1, 2, 2].count(2) → 2 |
len()
は「リスト全体のサイズ」を知りたいときcount()
は「特定の要素が何回あるか」を調べたいとき