len関数でPythonのオブジェクト内の要素数、文字数を調べるのイメージ画像

len関数でPythonのオブジェクト内の要素数、文字数を調べる

  • 公開日:2018/09/27
  • 更新日:2018/10/19
  • 投稿者:n bit

Pythonの組み込み関数『len関数』について解説。len関数を使えばオブジェクト内の要素数や文字数などをカウントしてその値を取得することができます。len関数の使い方やその特性等について詳しく見ていきましょう。

  • Python

この記事は約 分で読めます。(文字)

len関数とは

len関数はPythonの組み込み関数の1つでリストやタプル、辞書、セット、文字列といった様々なデータ型のオブジェクトの要素数や文字数を取得することができる関数です。

len関数の主な用途

  • オブジェクト内に要素数がいくつあるか?
  • オブジェクト内の文字数は何文字か?

len関数の使い方

len関数の使い方はサイズを図りたいオブジェクトを引数として渡すだけです。

len(サイズを図りたいオブジェクト)

実際にlen関数を使って様々なオブジェクトのサイズを取得してみましょう。最初は利用頻度の高いデータ型リストです。

list型(リスト)の要素数をlen関数で取得

リストを代入した変数をlen関数の引数に渡して返される値をチェックしてみます。返された値を出力させるためprint関数等に渡してください。

x = [10, 20, 30, 'テキスト']

print(len(x))

出力結果

4
リスト内の要素数は4つのため『4』と表示されました。

同じようにその他のデータ型もチェックしてみましょう。

tuple型(タプル)の要素数をlen関数で取得

タプルを代入した変数をlen関数の引数に渡して返される値をチェックしてみます。

x = (10, 20, 30, 'テキスト')

print(len(x))

出力結果

4
タプル内の要素数は4つのため『4』と表示されました。

dict型(辞書)の要素数をlen関数で取得

辞書を代入した変数をlen関数の引数に渡して返される値をチェックしてみます。

x = {'a':10, 'b':20, 'c':30, 'd':'テキスト'}

print(len(x))

出力結果

4
辞書内の要素数は4つのため『4』と表示されました。

まだ学習していませんがその他にもlen関数で扱えるデータ型があります。それらも紹介しておきましょう。

set型(セット)の要素数をlen関数で取得

セットを代入した変数をlen関数の引数に渡して返される値をチェックしてみます。

x = {10, 25, 40, 65}

print(len(x))

出力結果

4
セット内の要素数は4つのため『4』と表示されました。

frozenset型(セット)の要素数をlen関数で取得

frozensetを代入した変数をlen関数の引数に渡して返される値をチェックしてみます。

x = frozenset({10, 25, 40, 65})

print(len(x))

出力結果

4
frozenset内の要素数は4つのため『4』と表示されました。

rangeの要素数をlen関数で取得

rangeの値を代入した変数をlen関数の引数に渡して返される値をチェックしてみます。

x = range(4)

print(len(x))

出力結果

4
range内の要素数は4つのため『4』と表示されました。

str型(文字列)の文字数をlen関数で取得

文字列を代入した変数をlen関数の引数に渡して返される値をチェックしてみましょう。

x = 'text'

print(len(x))

出力結果

4
半角の文字列4文字ですので『4』と表示されました。

先ほどは半角の文字列でしたので想定通り4と言う数値が返ってきましたがlen関数は全角の文字列でも1文字として認識してくれます。

x = 'テキスト'

print(len(x))

出力結果

4

全角の文字列4文字ですので『4』と表示されました。

len関数は半角や全角が混じった文字列、また、半角スペースや全角スペースが混じったような文字列でも全て1文字としてカウントします。

x = 'text テキスト text'

print(len(x))

出力結果

14

テキストの前側に全角スペース、後ろ側に半角スペースを入れていますがそれらも含めて14文字ですので『14』と表示されました。

このようにlen関数はテキストの半角、全角、スペース等、全て1文字としてカウントしていきます。

複数行のテキストをカウントする場合は改行が1文字とカウントされるので注意が必要です。

x = '''
text テキスト text
text テキスト text
'''

print(len(x))

出力結果

31

テキストとスペースだけをカウントするのであれば先程の倍ですので28文字になりますが実際の出力結果は「31」と表示されました。

これはシングルクオーテーションの後の改行、1行目textの後の改行、2行目textの後の改行の計3改行がカウントされ合計『31』となります。

今日のdot

Pythonの組み込み関数『len関数』は様々なオブジェクトのサイズ(要素数・文字数)を取得できる関数です。利用頻度の高い関数ですので覚えておきましょう。