【问题标题】: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 提供您最近尝试的代码。

标签: python list dictionary


【解决方案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
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-31
  • 2020-09-10
  • 1970-01-01
  • 2021-09-22
相关资源
最近更新 更多