通过列表中的多个字典进行迭代并比较键值

时间:2018-09-30 09:54:03

标签: python list dictionary

我有一个包含多个词典的列表。

Items = [ {
            'Key': 'Name',
            'Value': 'John'
          }, 
          {
            'Key': 'Street No',
            'Value': 'XXX666'
          }, 
          {
            'Key': 'Block No',
            'Value': 'YYY999'
          }
        ] 

如何遍历列表并比较字典中与我的条件匹配的值?假设我需要比较如下:

if 'Name' == 'John'  and 'Block No' == 'YYY999':
  print("hello")

2 个答案:

答案 0 :(得分:1)

尝试首先将其转换为一个Python字典:

newDict = {d['Key']: d['Value'] for d in Items}

if newDict['Name'] == 'John' and newDict['Block No'] == 'YYY999':
    blah_blah_blah

答案 1 :(得分:0)

我会计算匹配字典的数量,并将其与两个相比较。这需要假设items没有重复项:

if len([d for d in items if (d['Key'] == 'Name' and d['Value'] == 'John') or (d['Key'] == 'Block No' and d['Value'] == 'YYY999')] == 2:
    print("hello")