在python for循环中使用多于1个iterable

nk1*_*k14 -6 python python-2.7

我想调用一个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"
Run Code Online (Sandbox Code Playgroud)

但这是语法错误,我该怎么办呢?

Jea*_*bre 9

 for files,script in TEMPLATE_FILE.items():
    print(files,scripts)
Run Code Online (Sandbox Code Playgroud)

是你正在寻找的建筑.

(在python 2中有一个iteritems在python 3中被删除,所以对于小字典items是可以和便携的)

你当然可以这样做:

for files in TEMPLATE_FILE:
    scripts = TEMPLATE_FILE[files]
Run Code Online (Sandbox Code Playgroud)

但是这并不像你在每次迭代中散列键那样有效,而你可以在没有它的情况下获得值.随机访问案例的保留哈希.

请注意,您可以像这样迭代排序键(常见问题):

 for files,script in sorted(TEMPLATE_FILE.items()):
    print(files,scripts)
Run Code Online (Sandbox Code Playgroud)

  • 我没有投票(我发誓!)但第一个答案是我的(16秒);) (2认同)