迭代列表中的多个字典[重复]

Posted

技术标签:

【中文标题】迭代列表中的多个字典[重复]【英文标题】:iterating over multiple dictionaries inside a list [duplicate] 【发布时间】:2019-04-30 05:47:45 【问题描述】:

这是我的列表,里面有多个字典:

tags: [
        'key': 'Environment',
        'value': 'Production'
    , 
        'key': 'Environment',
        'value': 'Acceptance'
    , 
        'key': 'Environment',
        'value': 'Test'
    , 
        'key': 'Environment',
        'value': 'Development'
    , 
        'key': 'Environment',
        'value': 'Sandbox'
    ]

这里所有字典的键值始终是“环境”。我需要检查键是否是环境,检查值是否是生产、测试​​、开发和沙箱。如果是,打印一些东西。

如何做到这一点?

【问题讨论】:

请展示您到目前为止所做的尝试。这是 SO 的惯例,拥有几百次代表的人应该知道。 标记的副本有很多例子。如果您需要更具体的内容并且遇到困难,请edit your question 提供您最近尝试的代码。 【参考方案1】:

你可以使用all:

tags = [
        'key': 'Environment',
        'value': 'Production'
    , 
        'key': 'Environment',
        'value': 'Acceptance'
    , 
        'key': 'Environment',
        'value': 'Test'
    , 
        'key': 'Environment',
        'value': 'Development'
    , 
        'key': 'Environment',
        'value': 'Sandbox'
    ]

result = all(tag['value'] in ('Sandbox', 'Test', 'Development', 'Production') for tag in tags if tag['key'] == 'Environment')
print(result)

输出

False

请注意,输出为 False,因为它包含值 'Acceptance'

【讨论】:

这行得通。谢谢@Daniel Mesejo

以上是关于迭代列表中的多个字典[重复]的主要内容,如果未能解决你的问题,请参考以下文章

For循环正在覆盖列表中的字典值[重复]

附加到 Python 字典中的列表 [重复]

迭代 Python 中的字典或列表

迭代列表并将该值用于字典键[重复]

迭代与Python中的列表对应的字典键值

如何将嵌套列表映射到 Python 中的可迭代字典