Pythonのlen関数とは?基本構文や使い方を初心者向けに解説
プログラミングをする際、文字列の長さや配列の要素数を取得して、それに応じた処理を行う場面が多く出てきます。Pythonにおいてそのような処理を行いたい場合、len関数を使うと実現できます。本記事では、len関数の使い方と使用例を解説します。
目次
1.len関数について
まずは、len関数がどういうものかを解説します。
1-1.len関数とは
len関数は、オブジェクトのサイズを取得する関数です。ここでいうオブジェクトとは、文字列の長さやリスト、タプル、辞書などの配列の要素数を指します。指定の文字数以上かを確かめたり、配列が空になっていないかをチェックしたりするときなどによく使われます。
1-2.len関数の構文
len関数の構文は以下の通りです。
len(オブジェクト)
上記のように記述すると、引数に指定されたオブジェクトのサイズを整数で取得することができます。
1-3.len関数の基本的な例文
続いて、例文を用いてlen関数の使い方を解説します。
1-3-1.文字列の長さを取得する
len関数で文字列の長さを取得する場合を解説します。
title_size = len("enginner-club") print(title_size) #13が出力される title = "エンジニアクラブ" print(len(title)) #8が出力される
len関数の引数に文字列、または文字列を格納した変数を指定してください。そうすると、指定された文字列の文字数を取得できます。上記のように、全角や半角は関係なく文字数を取得することが可能です。
1-3-2.リスト・タプルの要素数を取得する
len関数でリストやタプルの要素数を取得する場合を解説します。
#リスト lang = ["English","Japanese","French"] print(len(lang)) #3が出力される #タプル prgraming_lang = ("Java","Python","PHP","Perl") print(len(prgraming_lang)) #4が出力される
len関数の引数にリスト、またはタプルを指定してください。そうすると、その要素数を取得できます。リストかタプルかによって挙動の違いはありません。
1-3-3.セットの要素数を取得する
続いて、セットの要素数を取得する場合を解説します。セットの場合も同様にlen関数の引数に指定すれば要素数を取得できますが、注意点があります。下記のソースをご覧ください。
#セット lang = {"English","English","English","English"} print(len(lang)) #1が出力される
人間の目で見ると、langには4つの要素が格納されているように見えますが、1が出力されます。これは、セットが重複しない要素の集合を格納するものであり、langの要素がすべてEnglishであるため、1が出力されてしまう、ということです。このように、人間の目で見た内容と違う出力結果が出ることもあるので、オブジェクトの特性をよく理解しておく必要があります。
1-3-4.辞書の要素数を取得する
続いて、辞書の要素数を取得する場合を解説します。下記のソースをご覧ください。
#辞書 alphabet = {1: "A", 2: "B", 3: "C"} print(len(alphabet)) #3が出力される
引数に上記のような辞書を指定して出力させると、3が出力されます。辞書の場合はkey:valueの組み合わせの数が要素数となるので、3が出力されるということです。
2.len関数の使用例
本章では、len関数の使用例を簡単に解説します。
2-1.指定の文字数以上かを判定する
アンケートの質問やパスワードなど、「〇〇文字以上入力させる」という要件はよくあると思います。そのようなときに、len関数を使ってそれを満たしているかを判定することができます。下記のソースをご覧ください。
kansou_len = 0 while kansou_len < 30: kansou = input("感想を30文字以上入力してください: ") kansou_len = len(kansou) print("感想の入力ありがとうございます")
上記が感想を30文字以上入力させるプログラムです。変数kansouに格納された文字数が30文字以上かどうかを判定し、それに満たなければ30文字以上入力するまで繰り返します。このように、指定の文字数以上を入力させたいときにlen関数を活用すると簡単に判定することができます。
2-2.リストが空でない時だけ処理を行う
プログラミングにおいて、リスト内の要素を取り出して処理を行う場面が非常に多く出てきます。しかし、「リスト内に要素が格納されている」前提のもとでプログラムを組んでしまうと、万が一リストが空だった時に予期せぬ動作をすることがあります。それを防ぐため、「リストが空でないときに」だけやりたい処理を実行するロジックがとても有効です。
list = [] if len(list) > 0: for i in list: print(i) else: print("listが空です")
上記において、listが空であったときにlen(list)は必ず0になります。したがってif文などで0より大きいかそうでないかを判定すれば、listが空でないときにだけやりたい処理を行うことができます。
3.まとめ
Pythonにおけるlen関数について解説しました。大変便利で頻繁に使われる関数なので、基本的な使い方はぜひ理解するようにしましょう。
コメント