【Python】【初心者向け】for文をリスト内の要素の数だけ繰り返す方法

配列の要素数が多すぎて数えるのに苦労する男性 プログラミング

以下に文字列が要素として組み込まれた配列

List = ["あ", "か", "さ", "た", "な"]

が存在するとします。

この配列には、「あ」「か」「さ」「た」「な」の5つの文字列要素が入っています。

この配列から単純に1文字ずつ取り出して表示するプログラムを組む場合、以下のような感じになります。

List = ["あ", "か", "さ", "た", "な"]

#List内の要素数だけ回す
for i in range(5):
    print(List[i])

こんな感じで2行追加するだけで書けます。

in range()の()内には繰り返す回数分の数値を入力しています。

このプログラムの実行結果は以下のようになります。

Python:List内の要素を順番に出力1

とりあえず簡単に配列の要素を抜き出して順番に表示することに成功しました。

これだけ単純なケースであれば、ただリスト内の要素の数をそのまま目視で数えて数値を入れられると思います。

スポンサーリンク

リスト内に要素が大量に存在している場合は目視で数えてる場合じゃない

単純なケースであればリスト内の要素数をそのまま目視で数えて、その数をfor文のrange()内に放り込み、行いたい処理を書くだけで問題なかったりします。

しかし、次のようなケースだとどうでしょうか。

List = ["あ", "い", "う", "え", "お", "a", "b", "c", "d", "e", "あ", "い", "う", "え", "お", "a", "b", "c", "d", "e", "あ", "い", "う", "え", "お", "a", "b", "c", "d", "e", "あ", "い", "う", "え", "お", "a", "b", "c", "d", "e"]

これだと大量に要素が存在していて、List内に何個あるのか、ぱっと見で分からないですよね?(笑)

一つ一つ数えて以下のようにプログラムを組むことも可能といえば可能ですが、めちゃくちゃ時間かかるし、数え間違いがあったら元も子もありません。

List = ["あ", "い", "う", "え", "お", "a", "b", "c", "d", "e", "あ", "い", "う", "え", "お", "a", "b", "c", "d", "e", "あ", "い", "う", "え", "お", "a", "b", "c", "d", "e", "あ", "い", "う", "え", "お", "a", "b", "c", "d", "e"]

for i in range(40):
    print(List[i])

List内には全部で40個の文字列要素が存在しているのですが、これはわざわざ中身を1つ1つ数えて割り出した数字ではありません。

ちゃんとList内の要素数を出力する方法があります。

スポンサーリンク

リスト内の要素数が知りたい時はlen()関数を使えばOK

先程のプログラムを以下のように書き換えてみます。

List = ["あ", "い", "う", "え", "お", "a", "b", "c", "d", "e", "あ", "い", "う", "え", "お", "a", "b", "c", "d", "e", "あ", "い", "う", "え", "お", "a", "b", "c", "d", "e", "あ", "い", "う", "え", "お", "a", "b", "c", "d", "e"]

#len()関数を使えばList内の要素数を出力できる
print(len(List))

このプログラムの実行結果は以下です。

Python:List内の要素数を出力

ちゃんとList内の要素数が出力されました。わざわざ目視で数えなくても簡単に出力できるので便利です。

len()の()内に、要素の数を知りたい配列変数名を放り込むだけでOKです。

len()関数はfor文のrange()にそのまま放り込むことも可能

for文のrange()の()内には処理を繰り返したい回数だけの値を入れるのですが、1,2,3,4,5・・といったように必ず数字を入力しないといけないってことはありません。

以下のように、そのままlen()関数を放り込むこともできます。

List = ["あ", "い", "う", "え", "お", "a", "b", "c", "d", "e", "あ", "い", "う", "え", "お", "a", "b", "c", "d", "e", "あ", "い", "う", "え", "お", "a", "b", "c", "d", "e", "あ", "い", "う", "え", "お", "a", "b", "c", "d", "e"]

#len()関数をそのままrange()内に放り込む
for i in range(len(List)):
    print(List[i])

このプログラムの実行結果は以下の通りです。

Python:List内の要素を順番に出力2

この書き方であれば、わざわざ要素を目視で数えなくとも、リスト内の要素の数だけ繰り返すプログラムを簡単に書けます。

今回は以上です。

コメント