【问题标题】:Python dict with three values in the for loop在 for 循环中具有三个值的 Python dict
【发布时间】:2014-07-02 13:07:47
【问题描述】:

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

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

上述的工作清单可能是:

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

我现在找到了这段代码:

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

dict 将如何寻找我得到keyfilenamevalue

【问题讨论】:

  • 不,第一个循环不会解压您的字典。那不是可以工作的代码。 files 应该是 (key, value) sequences 的列表。
  • @MartijnPieters,太好了。错过了。我已经更新了这个问题,尽管我认为你说得很清楚......
  • 我想你现在知道如何自己回答这个问题了,不是吗? :-)
  • 我确实... 不容易成为绿色。谢谢:)

标签: python for-loop dictionary


【解决方案1】:

你想要你提供的字典或列表吗?如果要将其保留为列表,则可以将元组扩展为具有三个项目,而不是像这样的两个项目。我假设从您的措辞中您想知道 files 变量的外观以适应该循环。这应该足够了:

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

如果您希望它是一个 dict,您可能希望像这样格式化它:

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 不会保留项目的顺序。

【讨论】:

    猜你喜欢
    • 2014-02-28
    • 2013-05-28
    • 1970-01-01
    • 1970-01-01
    • 2018-02-28
    • 2017-09-09
    • 2021-11-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多