Python len() 使い方と注意点 2つ

Python len()関数は、最もよく使われる関数の1つです。len()関数は、コレクション(リスト、タプル、辞書など)や文字列の長さ、すなわち要素の数を返す関数で、非常にシンプルでありながら便利な機能を提供します。この記事では、Pythonのlen()関数について詳しく解説し、さまざまな活用方法を見ていきます。

len()関数とは?

len()関数は、Pythonでデータ構造の長さを返す関数です。この「長さ」はリスト、文字列、タプル、辞書などで、それぞれの要素が何個あるかを教えてくれます。この関数は非常に直感的で、Pythonコードを簡潔にするため、初心者から熟練した開発者まで幅広く使用されています。

基本的な使い方: len()関数でリスト、タプル、セットの長さを取得する

len()関数の基本的な使い方は非常に簡単です。データを入力するだけで、そのデータの長さを返してくれます。以下のコードでは、listを利用したmy_list, tupleを使用したmy_tupleとsetを利用したmy_setの長さをそれぞれ求めます。

Python
my_list = [1, 2, 3, 4, 5, 6, 7, 8]
len(my_list)
my_tuple = (1, 3, 5, 7)
len(my_tuple)
my_set = {2, 4, 6, 8, 10}
len(my_set)

上記のコードでは、my_listというリストが8つの要素を持っているため、len(my_list)は8を返します。my_tupleは4つ、my_setは5つの要素を持っているため、それぞれ8, 4と5が返されます。

図1. Python len(): リストとタプルの長さを取得する方法
図1. Python len(): リストとタプルの長さを取得する方法

len()関数で文字列の長さを取得する

len()関数は文字列の長さを取得する際にも便利です。ここでの文字列の長さは、各文字を基準にしてカウントされます。スペース(空白)も1つの文字として含まれます。

Python
Pythonmy_string = "Hello, World!"
len(my_string)

この場合、文字列”Hello, World!”は13個の文字で構成されているため、len()関数は13を返します。ここで重要なのは、スペースも1つの文字としてカウントされる点です。

図2. Python len(): 文字列の長さを取得する方法
図2. Python len(): 文字列の長さを取得する方法

len()関数で辞書の項目数を取得する

len()関数は辞書の項目数も取得できます。辞書の場合、キーと値のペア(key-value pair)が1つの項目として扱われます。

Python
my_dict = {'a': 1, 'b': 2, 'c': 3}
len(my_dict)

辞書my_dictは3つのキーと値のペアを持っているため、len(my_dict)は3を返します。

図3. Python len(): 辞書の項目数を取得する方法
図3. Python len(): 辞書の項目数を取得する方法

len()関数の注意点

リスト内のリストの長さを取得する

もしリストを要素として持つリストがある場合、len()関数は内部リストを1つの要素として認識し、外部リストの長さのみを返します。

Python
nested_list = [[1, 2, 3], [4, 5], [6], [7, 8, 9]]
len(nested_list)

この例では、nested_listというリストが4つの内部リストを持っているため、len(nested_list)は4を返します。

図4. Python len(): ネストされたリストの数を取得する方法
図4. Python len(): ネストされたリストの数を取得する方法

数値の長さを取得する

len()関数は、Pythonのさまざまなデータ型で動作しますが、整数型(int)や浮動小数点型(float)には使用できません。もし整数や浮動小数点数に対して長さを取得しようとすると、エラーが発生します。

Python
num_int = 12345
num_float = 12.345
len(num_int)
len(num_float)

上記のコードを実行すると、"TypeError: object of type 'int' has no len()"のようなエラーメッセージが表示され、len()が使用できないことを知らせてくれます。

図5. Python len(): 数値(整数および浮動小数点数)の長さを取得しようとすると発生するTypeErrorエラーメッセージ
図5. Python len(): 数値(整数および浮動小数点数)の長さを取得しようとすると発生するTypeErrorエラーメッセージ

したがって、数値の長さを取得したい場合には、数値を文字列に変換してから長さを取得する必要があります。

Python
num_int = 12345
num_float = 12.345
len(str(num_int))
len(str(num_float))

上記のコードを実行すると、整数の長さ5と浮動小数点数の長さ6がそれぞれ出力されることが確認できます。

図6. Python len(): 数値の長さを取得する方法

まとめ

len()関数は、Pythonでデータを扱う際に非常に便利なツールです。リスト、タプル、セット、文字列、辞書など、さまざまなデータ構造の長さを取得するために使用され、コードを簡潔で直感的にすることができます。また、カスタムクラスに適用して、オブジェクトの長さを定義する柔軟性もあります。

この関数は非常にシンプルでありながら、よく使われるため、Pythonを初めて学ぶ人から熟練したプログラマーまで幅広く利用されています。len()関数を積極的に使用することで、Pythonコードの可読性が向上し、データ処理が一層便利になるでしょう。

リファレンス

関連ポスト

コメントする