Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:使用for循环中当前检查的项动态创建变量_Python_List_Variables - Fatal编程技术网

Python:使用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

我想知道是否有任何方法可以从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"]
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']