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の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

この辞書には、nameagejobという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

コード上では12を複数回記述していますが、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など、それぞれのデータ型に対して何を数えているのかを意識すると、理解しやすくなります。