python - 通过一键比较两个字典列表

标签 python list dictionary comparison

我有两个这样的字典列表:

listOne = [{'A':'a','B':'b','C':'c'},{'A':'aa','B':'bb','C':'cc'},{'A':'aaa','B':'bbb','C':'ccc'}]
listTwo = [{'A':'a','B':'b'},{'A':'aa','B':'bb'},{'A':'aaa','B':'bbb'},{'A':'aaaa','B':'bbbb'}]

我想要做的是通过“A”键比较 listOne 和 listTwo,如果两个列表中都不存在带有“A”键的字典,则脚本会打印它。

可能吗?

谢谢;

编辑:

好吧,抱歉,问题不清楚,所以:

我有两个不同大小的字典列表,listTwo 中的字典与 listOne 中的某些字典具有相同的键和相同的值,但它们多了一个键。

我需要做的是打印不在listTwo中的词典。

我做不到:

for i in listOne:
    if i not in listTwo:
        print(i)

因为在 listTwo 中,字典当然多了一个元素,所以我不知道如何仅比较这些字典的两个键值...

我想做这样的事情:

for i in listOne:
    if i['A'] not in listTwo.elementsKey['A']:
        print(i)

但我不知道该怎么做...有什么可能性吗?

最佳答案

def checkList(lst):
    for item in lst:
        if "A" not in item.keys():
            print item
checkList(listOne)
checkList(listTwo)

关于python - 通过一键比较两个字典列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31731644/

相关文章:

c# - 有没有办法遍历我的sql结果并将某些名称/值对存储在C#中的其他位置?

python - 比较两个字符串列表,而不考虑python中的顺序和大小写

c# - LINQ 查找一系列连续数字

c# - 需要从多个词典<Datetime,double> 中获取一组唯一的键

javascript - render 方法中的 react map() 函数晚了一步

python - 在单元测试中测试一个函数是否在另一个函数内部被调用

python - Django form.errors 没有出现在模板中

python - 类型提示类尚未导入

python - Django ORM 拆分名称和搜索

python - 如何使用列表理解在循环内进行列表展平?