2026.07.24(金) / 16:39
【Python】len関数の使い方|文字数・要素数・setの重複を数える方法
- ID
- 40326
- Published
- 2026-07-24 16:39
- Modified
- 2026-07-24 16:45
- Author
- khiro
- Categories
- 技術ブログ
- Tags
- Python
Pythonのlen()は、文字列の文字数や、リストなどに入っている要素の数を調べるための関数です。
この記事では、len()の基本的な使い方と、setに使用した場合の動作について解説します。
len関数とは
len()は、指定したオブジェクトに含まれる要素の数を返します。
基本的な書き方は、次のとおりです。
len(対象)
文字列、リスト、辞書、タプル、setなどに使用できます。
文字列の文字数を調べる
文字列にlen()を使用すると、文字数を取得できます。
text = "Python"
print(len(text))
実行結果は、次のとおりです。
6
Pythonは6文字なので、6が返されます。
日本語の文字列にも使用できます。
print(len("こんにちは"))
実行結果は、次のとおりです。
5
リストの要素数を調べる
リストにlen()を使用すると、リストに入っている要素の数を取得できます。
numbers = [10, 20, 30]
print(len(numbers))
実行結果は、次のとおりです。
3
リストには3つの要素が入っているため、3が返されます。
items = ["りんご", "バナナ", "みかん"]
print(len(items))
実行結果は、次のとおりです。
3
文字列の長さではなく、リストに入っている要素の数が数えられます。
辞書の要素数を調べる
辞書にlen()を使用すると、キーと値の組み合わせの数を取得できます。
user = {
"name": "Hiroki",
"age": 33,
"job": "engineer"
}
print(len(user))
実行結果は、次のとおりです。
3
この辞書には、name、age、jobという3つのキーがあるため、結果は3になります。
setにもlen関数を使用できる
len()は、setにも使用できます。
numbers = {1, 2, 3}
print(len(numbers))
実行結果は、次のとおりです。
3
setに入っている要素の数が返されます。
setでは重複した要素が取り除かれる
setは、重複した値を保持しないデータ型です。
numbers = {1, 1, 2, 2, 3}
print(numbers)
print(len(numbers))
実行結果は、次のとおりです。
{1, 2, 3}
3
コード上では1と2を複数回記述していますが、setの中では重複した要素が取り除かれます。
そのため、len(numbers)の結果は3になります。
リスト内の異なる値の数を調べる
set()とlen()を組み合わせることで、リスト内に異なる値が何種類あるかを調べられます。
numbers = [1, 1, 2, 2, 3]
unique_count = len(set(numbers))
print(unique_count)
実行結果は、次のとおりです。
3
処理の流れは、次のようになります。
set(numbers)
まず、リストをsetに変換して重複を取り除きます。
{1, 2, 3}
その後、len()で要素数を数えます。
len({1, 2, 3})
結果は3です。
この書き方は、データの中に異なる値が何種類あるかを調べるときに便利です。
空のリストやsetを確認する
len()を使って、リストやsetが空かどうかを確認できます。
items = []
if len(items) == 0:
print("空です")
ただし、Pythonでは次のように書くこともできます。
if not items:
print("空です")
どちらも、itemsが空の場合に処理が実行されます。
Pythonでは、後者の書き方がよく使われます。
setの場合も同様です。
numbers = set()
if not numbers:
print("setは空です")
len関数とインデックスの違い
リストの要素数とインデックスの番号は異なります。
items = ["A", "B", "C"]
print(len(items))
実行結果は、次のとおりです。
3
リストには3つの要素がありますが、インデックスは0から始まります。
A:インデックス0
B:インデックス1
C:インデックス2
最後の要素は、次のように取得できます。
print(items[len(items) - 1])
実行結果は、次のとおりです。
C
len(items)は3ですが、最後のインデックスは2です。
そのため、最後の要素を取得するときは1を引きます。
なお、Pythonでは次のように書く方が簡単です。
print(items[-1])
数値にはlen関数を直接使用できない
整数にlen()を直接使用すると、エラーになります。
len(123)
次のようなエラーが発生します。
TypeError: object of type 'int' has no len()
数値の桁数を調べたい場合は、str()を使って文字列に変換します。
number = 12345
print(len(str(number)))
実行結果は、次のとおりです。
5
12345を文字列に変換してから、文字数を数えています。
まとめ
len()は、文字列の文字数や、リストなどの要素数を調べる関数です。
len("Python")
文字列の文字数を取得します。
len([1, 2, 3])
リストの要素数を取得します。
len({"name": "Hiroki", "age": 33})
辞書のキーと値の組み合わせの数を取得します。
len({1, 2, 3})
setの要素数を取得します。
また、set()と組み合わせることで、重複を除いた値の種類数も調べられます。
numbers = [1, 1, 2, 2, 3]
print(len(set(numbers)))
実行結果は、次のとおりです。
3
len()はPythonで頻繁に使用する基本的な関数です。
文字列やリスト、辞書、setなど、それぞれのデータ型に対して何を数えているのかを意識すると、理解しやすくなります。