如何检查Python中字典列表中是否存在两个键值对

k2fxgqgv  于 2023-11-20  发布在  Python
关注(0)|答案(1)|浏览(99)

我试图检查字典列表中是否存在两个键值对的组合。下面是我的列表。

data = 
  [
  {'transaction':'abc123', 'stage_one':'Started', 'stage_two':'Complete',   'version': 12),
  {'transaction':'abc123', 'stage_one':'Started', 'stage_two':'started',    'version': 12),
  {'transaction':'abc123', 'stage_one':'Started', 'stage_two':'processing', 'version': 12),
  {'transaction':'abc123', 'stage_one':'Started', 'stage_two':'Complete',   'version': 12)
  ]

字符串
我已经尝试了下面的代码行,但是当检查无效的数据组合时,我总是得到values exists。有人能解释一下这个问题吗?

if not any((d['stage_one'] ==('Started') and d['stage_two'] == 
    ('Complete123')) for d in data):
       print("values exists")
    else:
       print("values don't exists")

wr98u20j

wr98u20j1#

我会在你的字典列表上使用一个列表解析,带有一个条件语句:

results = [d for d in data if d['stage_one'] =='some_value' and d['stage_two'] == 'some_other_value']
if len(results) > 0:
    print("values exists")
else:
    print("values don't exists")

字符串
这样,您还可以通过查看results的长度来检查有多少个匹配项

相关问题