・IT/Web系エンジニアの経験者の方
・どこの転職エージェントを利用しようか迷っている方
それなら、キッカケエージェントにご相談!
キッカケエージェントでは、少数精鋭のエージェントが、エンジニアの経験やスキル、志向性などをカウンセリングし、的確なアドバイスを提供します!
また、徹底した企業へのヒアリングにより、最適なマッチングを実現し、今では内定率が一般的なエージェントの2倍以上となっています!
転職エージェントに迷っている方、まずは無料でキャリア相談から!
(この記事は2024年01月15日に投稿されました。)
Pythonで文字列の長さを取得するにはlen()を使用します。
len()とは、データのサイズを取得する関数になります。
そのため、List(リスト)に対してlen()を使用することでリストの要素をカウントし、カウントした要素数の合計値を返します。
また、len()は1次元List(リスト)だけでなく、2次元List(リスト)や3次元List(リスト)のような多次元リストの要素数もカウントすることができます。
そして、len()は条件処理や他の関数などと組み合わせて使用できるため、もしList(リスト)の要素数を取得したいと思った場合はlen()を使用するようにしましょう。
今回はPythonのlen()でList(リスト)の長さ(要素数)を取得する方法について紹介していきます。
リスト(List)の要素数を取得したい場合
len()とは
len()とは、データのサイズを調べる関数になります。
そのため、リスト(List)などのイテレータに使用することで、格納されている要素の数を調べることができます。
もし、len()の書き方について知りたい場合は下記の記事をご参考ください。
len()でリスト(List)の長さ(要素数)を取得するサンプルコード
len()でリスト(List)の長さ(要素数)を取得するサンプルコードをご紹介します。
ここでは、下記の2パターンでlen()を使用します。
- リスト(List)内に要素が存在する場合
- リスト(List)内に要素が存在する場合
リスト(List)内に要素が存在する場合
リスト(List)内に要素が存在する場合にlen()を使用すると、リストに格納されている要素数を返します。
● main.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | print('● 対象のリスト-1') list1 = ['JavaScript', 'PHP', 'Python', 'C#', 'Java'] print(list1) print("● len()使用後-1") list1_len = len(list1) print(list1_len) print('● 対象のリスト-2') list2 = [145, 346, 678, 908, 258, 2] print(list2) print("● len()使用後-2") list2_len = len(list2) print(list2_len) |
実行結果
len()でList(リスト)の長さ(要素数)を取得しています。
今回は1つ目のリストに6つの要素が格納されているため「6」が表示されています。
また、2つ目のリストに5つの要素が格納されているため「5」が表示されています。
リスト(List)内に要素が存在しない場合
リスト(List)内に要素が存在しない場合にlen()を使用すると、「0」を返します。
● main.py
1 2 3 4 5 6 7 | print('● 対象のリスト') list1 = [] print(list1) print("● sum()使用後") list1_len = len(list1) print(list1_len) |
実行結果
len()でリスト(List)の長さ(要素数)を取得しています。
今回は空のリストであるため、「0」が表示されています。
len()で多次元リスト(List)の長さ(要素数)を取得するサンプルコード
len()は1次元リストだけでなく、多次元のリストの長さも取得することができます。
そのため、ここではlen()で多次元リスト(List)の長さ(要素数)を取得するサンプルコードをご紹介します。
2次元リスト(List)の場合
len()で2次元リスト(List)の長さを取得します。
● main.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | print('● 対象の2次元リスト') list1 = [ [1, 2, 3, 4, 5], [10, 20, 30, 40, 50], [100, 200, 300, 400, 500], [1000, 2000, 3000, 4000, 5000] ] print(list1) print('● len()使用後(1次元リスト)') for list1_n in list1: list1_n_len = len(list1_n) print(list1_n_len) print('● len()使用後(2次元リスト)') list1_len = len(list1) print(list1_len) |
実行結果
len()で2次元リスト(List)の長さ(要素数)を取得しています。
そのため、1次元リストの要素数である「5」、「5」、「5」、「5」が表示されています。
また、2次元リストの要素数である「4」が表示されています。
3次元リスト(List)の場合
len()で3次元リスト(List)の長さを取得します。
● main.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | print('● 対象の3次元リスト') list1 = [ [[10, 20, 30, 40, 50],[100, 200, 300, 400, 500]], [[1000, 2000, 3000,4000, 5000],[10000, 20000, 30000, 40000, 50000]] ] print(list1) print('● len()使用後(1次元リストの各合計)') for list1_n in list1: for list1_nm in list1_n: list1_nm_len = len(list1_nm) print(list1_nm_len) print('● len()使用後(2次元リストの各合計)') for list1_n in list1: list1_n_len = len(list1_n) print(list1_n_len) print('● len()使用後(3次元リストの合計)') list1_len = len(list1) print(list1_len) |
実行結果
len()で3次元リスト(List)の長さ(要素数)を取得しています。
そのため、1次元List(リスト)の要素数である「5」、「5」、「5」、「5」が表示されています。
また、2次元List(リスト)の要素数である「2」、「2」が表示されています。
そして、3次元リストの要素である「2」が表示されています。
len()と組み合わせて使用できる様々なケース
List(リスト)の要素数を取得することでさまざまな場面で使用することができます、
そのため、ここではlen()と組み合わせて使用できる下記のケースについてご紹介します。
- 条件処理と組み合わせて使用する
- ジェネレータ式と組み合わせて使用する
- 他の関数と組み合わせて使用する
条件処理と組み合わせて使用する
len()は条件処理と組み合わせることで、条件として使用することができます。
例えば、指定したList(リスト)に対して処理を行う前にリストの中身が空かどうかの確認をすることができます。
● main.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | def listCheck(listObj): if len(listObj) == 0: print("リストに要素が存在しません。") else: print("リストに要素が存在します。") print('● 対象のリスト-1') list1 = ['Python', 'Java', 'PHP', 'JavaScript'] print(list1) print('● len()使用後-1') listCheck(list1) print('● 対象のリスト-2') list2 = [] print(list2) print('● len()使用後-1') listCheck(list2) |
実行結果
len()と条件処理と組み合わせて、List(リスト)の中身が空かどうかを確認しています。
そのため、List(リスト)に要素が存在する場合は「リストに要素が存在します。」が表示されています。
また、空のList(リスト)の場合は「リストに要素が存在しません。」が表示されています。
ジェネレータ式と組み合わせて使用する
len()はジェネレータ式と組み合わせることで、ジェネレータに対して使用することができます。
例えば、作成されたジェネレータの要素数を動的に取得することができます。
● main.py
1 2 3 4 5 6 7 | print('● 対象のジェネレータ') generator = (x for x in range(50)) print(generator) print('● len()の使用後') generator_length = len(list(generator)) print(generator_length) |
実行結果
len()とジェネレータ式と組み合わせて、ジェネレータの要素数を動的に取得しています。
今回は「for-in文」と「range()」で50回繰り返している処理に対してlen()を使用しているため、「50」が表示されています。
他の関数と組み合わせて使用する
len()は他の関数と組み合わせることで、組み込み処理として使用できます。
例えば、min()と組みわせて使用すると、最小の長さのリストを取得することができます。
● main.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | print('● 対象のリスト-1') list1 = [1, 2, 3] print(list1) print('● 対象のリスト-2') list2 = [4, 5, 6, 7] print(list2) print('● 対象のリスト-3') list3 = [4, 5, 6, 7, 9, 10] print(list3) print('● len()とmin()の使用後') min_list = min(len(list1), len(list2), len(list3)) if min_list == 3: print('list1') elif min_list == 4: print('list2') else: print('list3') |
実行結果
len()と他の関数と組み合わせて、組み込み処理として使用しています。
今回はmin()と組み合わせて、要素数が少ないList(リスト)を取得しているため、「list1」が表示されています。
len()でList(リスト)の長さ(要素数)を取得した実際のケース
len()でList(リスト)の長さ(要素数)を取得した実際のケースについてご紹介します。
例えば、len()を使用してToDoリストの項目数を確認するようなコードを作成します。
● index.html
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | <!DOCTYPE html> <html lang="jp"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>len()で(List)リストの長さ(要素数)を取得</title> </head> <body> <form action="/result" method="POST"> <p>項目を入力</p> <input type="text" name="content"> <button type="submit">登録</button> </form> <h2>ToDoリスト</h2> <div class="list-area"> <ul> {% for todoList in lists %} <li class="list">{{ todoList }}</li> {% endfor %} </ul> </div> </body> </html> |
● result.html
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <!DOCTYPE html> <html lang="jp"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>len()で(List)リストの長さ(要素数)を取得</title> </head> <body> <h2 class="ret">{{ result }}</h2> <p class="msg">{{ errorMsg }}</p> <p><a href="{自分のURL}">Topに戻る</a></p> </body> </html> |
● app.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | from flask import Flask, render_template, request app = Flask(__name__) content = '' todoList = [] @app.route('/') def index(): return render_template('index.html', lists = todoList) @app.route('/result', methods=['POST']) def result(): ret = '' msg = '' content = request.form.get('content') if len(todoList) < 6: ret = '項目の登録が完了しました。' todoList.append(content) else: ret = '項目の登録ができませんでした。' msg = '登録できるリストが上限に達しています。' return render_template('result.html', result = ret, errorMsg = msg) if __name__ == '__main__': app.run() |
実行結果(成功時)
実行結果(失敗時)
len()でToDoリストの項目数を確認しています。
今回は入力した項目をList(リスト)に追加する際にlen()でリストの長さを確認しています。
そのため、「テスト-1」と入力し「登録」を押すとToDoリストに「テスト-1」が追加されています。
また、「テスト-7」と入力し「登録」を押すと項目の上限に達しているためエラーが発生しています。
len()でリスト(List)以外の長さ(要素数)を取得する場合
len()はリスト(Liat)だけでなく、タプルなどの他のイテレータの長さ(要素数)を取得することもできます。
そのため、ここではlen()でリスト(List)以外の長さ(要素数)を取得します。
タプル型の場合
len()でタプル型の長さ(要素数)を取得します。
● main.py
1 2 3 4 5 6 7 | print('● 対象のタプル') tuple1 = (125, 146, 900, 267, 543, 56, 29) print(tuple1) print("● len()使用後") tuple1_len = len(tuple1) print(tuple1_len) |
実行結果
len()でタプルの長さ(要素数)を取得しています。
そのため、タプルの要素数である「7」が表示されています。
辞書型の場合
len()で辞書型の長さ(要素数)を取得します。
結論から言うと、辞書型はlen()を直接使用することができません。
そのため、キーと値を分けたイテレータに対して使用します。
● main.py
1 2 3 4 5 6 7 8 9 10 11 | print('● 対象の辞書') dict1 = {1: 16, 2: 143, 3: 45, 4: 99, 5: 845, 6: 200, 7: 340, 8: 165} print(dict1) print("● len()使用後(キー)") dict1_k_len = len(dict1.keys()) print(dict1_k_len) print("● len()使用後(値)") dict1_v_len = len(dict1.values()) print(dict1_v_len) |
実行結果
len()で辞書型の長さ(要素数)を取得しています。
そのため、辞書のキーの数である「8」が表示されています。
また、辞書の値の数である「8」が表示されています。
set型の場合
len()でset型の長さ(要素数)を取得します。
● main.py
1 2 3 4 5 6 7 | print('● 対象のset') set1 = {33, 23, 4, 9000, 150, 22345, 9876, 1259} print(set1) print("● len()使用後") set1_len = len(set1) print(set1_len) |
実行結果
len()でset型の長さ(要素数)を取得しています。
そのため、set型の要素数である「8」が表示されています。
まとめ
⚫︎ len()とは、データのサイズを調べる関数であり、リスト(List)に使用するとリストの長さ(要素数)を取得することができる。
⚫︎ リスト(List)内に要素が存在する場合にlen()を使用すると、格納されているリストの長さ(要素数)を返す。
⚫︎ リスト(List)内に要素が存在しない場合にlen()を使用すると、「0」を返す。
⚫︎ len()は1次元リストだけでなく、多次元のリストの長さも取得することができる。
⚫︎ len()は条件処理と組み合わせることで、条件として使用することができる。
⚫︎ len()はジェネレータ式と組み合わせることで、ジェネレータに対して使用することができる。
⚫︎ len()で他の関数と組み合わせることで、他の関数の組み込み処理として使用することができる。
⚫︎ len()はリスト(List)以外のイテレータの長さ(要素数)を取得することができる。