Python字典在for循环中有三个值

时间:2014-07-02 13:07:47

标签: python for-loop dictionary

使用python我有一些看起来像这样的代码:

for (key, value) in files:
    ...

上述工作清单可以是:

files = [(
   'key1', 'value1'
), ...]

我现在找到了这段代码:

for (key, filename, value) in files:
    ...

dict如何让我获得keyfilenamevalue

1 个答案:

答案 0 :(得分:3)

你想要一个像你提供的字典或列表吗?如果你想把它保存为一个列表,你可以将元组扩展为三个项目而不是两个项目。我假设你的措辞你想知道文件变量看起来是什么样子以适应那个循环。这应该足够了:

files = [
        ('key1', 'file1', 'value1'),
        ('key2', 'file2', 'value2'),
        ('key3', 'file3', 'value3')
        ]

for (key, file, value) in files:
    print key, file, value

>>key1 file1 value1
>>key2 file2 value2
>>key3 file3 value3

如果你想要它是一个字典,你可能想要格式化它:

files = {
        'key1': ('file1', 'value1'),
        'key2': ('file2', 'value2'),
        'key3': ('file3', 'value3')
        }

for key, value in files.iteritems():
    print key, value[0], value[1]

>>key3 file3 value3
>>key2 file2 value2
>>key1 file1 value1

但请注意,如果对你很重要,dict将不会保留这些项目的顺序。