【Python】for 文の中で変数名の数字を変えたい

URLをコピーする
URLをコピーしました!
Takuyaのアイコン画像Takuya

こんにちは。Takuyaです。

今回は for 文についてです。

for 文は繰り返し同じ処理を行いたい時に使用する構文です。

その for 文の中で変数名の数字を変えたい、そんな時は exec 関数を使いましょう。

例えば、

str_1 = 'おはようございます'
str_2 = 'こんにちは'
str_3 = 'こんばんは'

上記のように、連番の付いた変数について、同じ処理をしたい場合などに exec 関数が使えます。

例えば、連番の付いた変数を全て表示したい時、次のように書きたくなるかもしれません。

str_1 = 'おはようございます'
str_2 = 'こんにちは'
str_3 = 'こんばんは'

for i in range(1,4):
    print(str_i)

これを実行すると、NameError: name 'str_i' is not defined となります。
ただの文字列として扱われてしまうんですね。

こんな時に使うのが exec 関数です。次のように書きます。

str_1 = 'おはようございます'
str_2 = 'こんにちは'
str_3 = 'こんばんは'

for i in range(1,4):
  exec_command = 'print(str_' + str(i) + ')'
  exec(exec_command)

上記の実行結果

Google Colab での実行結果

(今回は Google Colab で確認してみました。)

今回は、for 文の中で変数名の数字を変えたい という時のexec 関数を使う方法をご紹介しました。

以上です。

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
URLをコピーする
URLをコピーしました!

コメント

コメントする

目次
閉じる