如何在 Python 中完成变量变量?
这是一个详尽的手册条目,例如: 变量变量
我听说这通常是个坏主意,而且它是 PHP 中的一个安全漏洞。真的吗?
您可以使用字典来完成此操作。字典是键和值的存储。
>>> dct = {'x': 1, 'y': 2, 'z': 3} >>> dct {'y': 2, 'x': 1, 'z': 3} >>> dct["y"] 2
您可以使用变量键名来实现变量变量的效果,而不会有安全风险。
>>> x = "spam" >>> z = {x: "eggs"} >>> z["spam"] 'eggs'
对于您正在考虑做类似的事情的情况
var1 = 'foo' var2 = 'bar' var3 = 'baz' ...
列表可能比字典更合适。列表表示对象的有序序列,具有整数索引:
lst = ['foo', 'bar', 'baz'] print(lst[1]) # prints bar, because indices start at 0 lst.append('potatoes') # lst is now ['foo', 'bar', 'baz', 'potatoes']
对于有序序列,列表比带有整数键的 dict更方便,因为列表支持索引顺序的迭代、切片、append以及其他需要使用 dict 进行笨拙的键管理的操作。
append