比较python

时间:2018-01-24 04:05:15

标签: python python-3.x list dictionary

我想比较下面的词典。字典中的名称键在两个词典中都很常见。 如果在两个词典中都匹配了名称,我想对数据做一些其他的事情。

PerfData = [
            {'Name': 'abc', 'Type': 'Ex1', 'Access': 'N1', 'perfStatus':'Latest Perf', 'Comments': '07/12/2017  S/W Version'},
            {'Name': 'xyz', 'Type': 'Ex1', 'Access': 'N2', 'perfStatus':'Latest Perf', 'Comments': '11/12/2017  S/W Version upgrade failed'},
            {'Name': 'efg', 'Type': 'Cust1', 'Access': 'A1', 'perfStatus':'Old Perf', 'Comments': '11/10/2017  S/W Version upgrade failed, test data is active'}
        ]

 beatData = [
            {'Name': 'efg', 'Status': 'Latest', 'rcvd-timestamp': '1516756202.632'},
            {'Name': 'abc', 'Status': 'Latest', 'rcvd-timestamp': '1516756202.896'}
            ]

由于 拉杰夫

2 个答案:

答案 0 :(得分:0)

l = [{'name': 'abc'}, {'name': 'xyz'}]
k = [{'name': 'a'}, {'name': 'abc'}]
[i['name'] for i in l for f in k if i['name'] == f['name']]

希望逻辑能为你服务。

答案 1 :(得分:0)

提供的答案没有将结果分配给任何变量。如果要打印它,请添加以下内容:

result = [i['name'] for i in l for f in k if i['name'] == f['name']]
print(result)