我想调用一个python for循环,有两个这样的迭代:
TEMPLATE_FILE = { 'a': 'power', 'b': 'voltage', 'c': 'current' }
for (script in TEMPLATE_FILE.values()) and (files in TEMPLATE_FILE.keys()):
print 'script: ',script
print 'files: ',files
print "\n"
但这是语法错误,我该怎么做?
答案 0 :(得分:9)
for files,script in TEMPLATE_FILE.items():
print(files,scripts)
是您正在寻找的建筑。
(在python 2中有一个iteritems
,它在python 3中被删除,因此对于小词典items
是可以和便携的)
当然可以这样做:
for files in TEMPLATE_FILE:
scripts = TEMPLATE_FILE[files]
但是这并不像你在每次迭代时散列键那样有效,而你可以在没有它的情况下获得值。随机访问案例的保留哈希。
请注意,您可以像这样迭代排序键(常见问题):
for files,script in sorted(TEMPLATE_FILE.items()):
print(files,scripts)
答案 1 :(得分:3)
要访问字典中的键值,您可以这样做。
对于Python 2.x:
for files,script in TEMPLATE_FILE.iteritems():
对于Python 3.x:
for files,script in TEMPLATE_FILE.items():
或者你也可以这样做,独立于python版本:
for files in TEMPLATE_FILE:
script = TEMPLATE_FILE[files]
#print(files, script)
最后一点的缺点是每次都按@ Jean-FrançoisFabre的建议重新散列键。
答案 2 :(得分:2)
您只想迭代字典并在每次迭代时获取密钥及其值。
for file_ in TEMPLATE_FILE:
script = TEMPLATE_FILE[file_]
或
for file_, script in TEMPLATE_FILE.items():
...
答案 3 :(得分:0)
您不需要像这样编码。以下代码是您想要的
TEMPLATE_FILE = { 'a': 'power', 'b': 'voltage', 'c': 'current' }
for script in TEMPLATE_FILE:
print 'script: ',script
print 'files: ',TEMPLATE_FILE[script ]
print "\n"