len関数は、文字列型やリスト型など様々なオブジェクトの要素数を取得できる関数です。
もう少し噛み砕いて言うと、文字列型であれば文字数をカウントし、リスト型であればリストの中に何個データがあるかを取得することができます。
ちなみにlenは英語のlength(長さ)です。
len関数で取得可能である代表的なデータ型は以下の通りです。
- str型(文字列型)
- list型(リスト型)
- tuple型(タプル型)
- dict型(辞書型)
- set型(集合型)
※int型(整数型)やbool型(真偽型)で使うとエラーになりますので使用できません。
データ型の種類と使い方については以下をご覧ください。
len関数の解説
ここでは、len関数の記述方法から各データ型での使用方法、さらには現場で使える応用例を記述します。
len関数の書式
len関数の書式(記述方法)は以下の通りです。
len(取得したいオブジェクト)
引数には文字列やリスト、タプル、辞書など取得したいオブジェクトを指定します。
各データ型の取得方法
str型(文字列型)
文字列型をlen()の引数に指定した場合は、文字数を取得できます。
>>>umaibo = '10yen'
>>>print(len(umaibo))
5
list型(リスト型)
リスト型をlen()の引数に指定した場合は、要素数(リストの数)を取得できます。
>>> umaibo = ['chees','mentai','piza']
>>> print(len(umaibo))
3
リスト型について解説は以下を参照願います。
tuple型(タプル型)
タプル型をlen()の引数に指定した場合は、要素数(タプルの数)を取得できます。
>>> umaibo = ('chees','mentai','piza')
>>> print(len(umaibo))
3
タプル型について解説は以下を参照願います。
dict型(辞書型)
辞書型をlen()の引数に指定した場合は、要素数を取得できます。
>>> umaibo = {1:'chees',2:'mentai',3:'piza'}
>>> print(len(umaibo))
3
辞書型について解説は以下を参照願います。
→Python入門:dict型(辞書型)の使い方(キー・値の修正や要素の追加方法)
set型(集合型)
集合型をlen()の引数に指定した場合は、要素数を取得できます。
>>> umaibo = {'chees','mentai','piza'}
>>> print(len(umaibo))
3
現場で使える応用例
僕は仕事でほぼ毎日、pythonでwebサイトをスクレイピングしています。
大半の大手サイトは、htmlが綺麗で取得しやすく助かっています。あざーす!
しかし、たまに汚部屋くらい散らかったhtmlがあって、データをうまく取得できない時に、エラー処理が必要な場合もあります。
そんな時に使えるのがlen関数です。
応用例:取得したはずのリストが空の時に、条件式でエラー回収
>>> umaibo = [] # テスト用に空のリストを作成
>>> if len(umaibo) == 0: # 0の時の処理
... print('empty!')
... else: # リストの要素が1つ以上ある時の処理
... print('no-empty!')
...
empty!
上記の例は、クロールして取得したurlをリスト化し、そのリストを元に各webページへクロールするプログラムを組んだ時に、リストが空の場合にエラーをおこさない処理等に使えます。
ちなみに、if文の使い高については以下をご覧ください。