他の言語では、PHPなどは、「変数変数名」の概念をサポートしています。つまり、文字列の内容を変数名の一部として使用できます。
これは一般的には悪い考えだと聞きましたが、私の Python コードにあるいくつかの問題は解決すると思います。
Python でこのようなことを行うことは可能ですか? 何が問題になるのでしょうか?
既存の変数を名前で検索したい場合は、変数を(文字列)名で選択するにはどうすればいいですか?ただし、まずこの質問のアドバイスに従って、その必要性を回避するためにコードを再編成できるかどうかを検討してください。
ベストアンサー1
使用できます辞書これを実現するには、辞書はキーと値の格納場所です。
>>> dct = {'x': 1, 'y': 2, 'z': 3}
>>> dct
{'x': 1, 'y': 2, 'z': 3}
>>> dct["y"]
2
変数キー名を使用すると、セキュリティ リスクなしで変数の効果を実現できます。
>>> x = "spam"
>>> z = {x: "eggs"}
>>> z["spam"]
'eggs'
次のようなことをしたいと考えている場合
var1 = 'foo'
var2 = 'bar'
var3 = 'baz'
...
1つのリスト辞書よりも適切かもしれません。リストは整数インデックスを持つオブジェクトの順序付けられたシーケンスを表します。
lst = ['foo', 'bar', 'baz']
print(lst[1]) # prints bar, because indices start at 0
lst.append('potatoes') # lst is now ['foo', 'bar', 'baz', 'potatoes']
順序付きシーケンスの場合、リストはインデックス順の反復処理をサポートしているため、整数キーを持つ辞書よりも便利です。スライス、、append
および辞書を使用した厄介なキー管理を必要とするその他の操作。