Python | 変数の値を新しい変数名に使う方法
Pythonで変数の値を変数名に使って新しい変数を定義する方法とサンプルコードを紹介しています。
確認環境
Windows11 ローカル
Python python-3.11.1
変数の値を変数名に使って変数を定義する
変数の値を変数名に使って変数を定義するには、globals()
関数に新しい名前を付けて記述する事で実装する事が可能です。
※ これらの方法は、エディターの拡張機能なで変数の再定義などを制御している場合、変数が定義されている事を認識できない場合があります。
※ また、表示されるコードを触る人に周知していないと変数名の把握が難しく可読性に欠けるかもしれません。
配列の値を使用した名前の変数を定義する
例えば、リスト(配列)の値を利用してそれぞれ変数名を作成したい場合、for文で反復して、その値から新しい変数名を定義していきます。
新しい変数名に変数の値を使うにはglobals()
を使って新しい変数を指定します。
data = ['apple', 'banana' , 'pine']
for value in data:
globals()[value] = value + 'です。' # 新しい変数名で変数を定義する(値は適当)
print(apple) # 新たに定義した変数のひとつを出力
# apple
上記のサンプルコードでは3つの名前を持つ変数が定義され以下の値を持っています。
apple = 'appleです。'
banana = 'bananaです。'
pine = 'pineです。'
連番を持つ変数を定義する
例えば、連番を持つ変数名を作成したい場合、for文で連番数分繰り返し、その値から新しい変数名を定義していきます。
新しい変数名に変数の値を使うにはglobals()
を使って新しい変数を指定します。
for i in range(5):
new_name = 'variable_' + str(i) # 値から新しい変数名を作成
globals()[new_name] = i * 5 # 新しい変数名で変数を定義する(値は適当)
print(variable_3) # 新たに定義した変数のひとつを出力
# 15
上記のサンプルコードでは5つの連番からなる名前を持つ変数が定義され以下の値を持っています。
variable_0 = 0
variable_1 = 5
variable_2 = 10
variable_3 = 15
variable_4 = 20
ディスカッション
コメント一覧
まだ、コメントがありません