Python:使用for循环中当前检查的项动态创建变量
我想知道是否有任何方法可以从for循环中当前检查项目的名称创建新变量:Python:使用for循环中当前检查的项动态创建变量,python,list,variables,Python,List,Variables,我想知道是否有任何方法可以从for循环中当前检查项目的名称创建新变量: list = ["a", "b", "c"] for item in list: item_new = 1 print a_new print b_new print c_new 我想让它输出的是: 1 1 1 编辑: 哎哟,好的,要点:P 知道dict在这种情况下可以工作,只是想检查上述方法是否可行。显然不是 您不应该对变量执行此操作。字典就是你要找的东西: list = ["a", "b", "c"] v
list = ["a", "b", "c"]
for item in list:
item_new = 1
print a_new
print b_new
print c_new
我想让它输出的是:
1
1
1
编辑:
哎哟,好的,要点:P
知道dict在这种情况下可以工作,只是想检查上述方法是否可行。显然不是 您不应该对变量执行此操作。字典就是你要找的东西:
list = ["a", "b", "c"]
variables = {}
for item in list:
variables[item] = 1
print variables["a"]
print variables["b"]
print variables["c"]
与其创建新变量,字典似乎是更好的方法 另外,最好不要使用变量名
list
,因为这已经是函数名了
L = ["a", "b", "c"]
d = {}
for item in L:
d["{}_new".format(item)] = 1
print d["a_new"]
print d["b_new"]
print d["c_new"]
该函数返回对dict的引用,在dict中可以检查局部变量,每个键以字符串形式表示局部变量名称:
>>> locals()
{'a': 2, 'b': 9, '__builtins__': <module '__builtin__' (built-in)>, '__package__': None, '__name__': '__main__', '__doc__': None}
>>> var = "Some text"
>>> locals()
{'var': 'Some text', 'a': 2, 'b': 9, '__builtins__': <module '__builtin__' (built-in)>, '__package__': None, '__name__': '__main__', '__doc__': None}
但是请不要这样做。这个程序是无法修改的。使用普通的dict
用代码创建自定义元素。该程序的可读性和可维护性要高得多:
list = ["a", "b", "c"]
d = {}
for item in list:
d[item] = 1
print d['a']
print d['b']
print d['c']
请不要这样做。你应该使用一个
dict
。是的,可以这样做,但要先阅读。文档中特别注明“本词典的内容不应修改”。
list = ["a", "b", "c"]
d = {}
for item in list:
d[item] = 1
print d['a']
print d['b']
print d['c']