我是 Python 新手。假设我有以下字典列表:
mydictList= [{'a':1,'b':2,'c':3},{'a':2,'b':2,'c':4},{'a':2,'b':3,'c':4}]
从上面的列表中,我想删除具有相同键 b 值的字典。所以结果列表应该是:
mydictList = [{'a':1,'b':2,'c':3},{'a':2,'b':3,'c':4}]
最佳答案
您可以根据 b
的值创建一个新字典,迭代mydictList
向后(因为您想保留 b
的第一个值),并仅获取字典中的值,如下所示
>>> {item['b'] : item for item in reversed(mydictList)}.values()
[{'a': 1, 'c': 3, 'b': 2}, {'a': 2, 'c': 4, 'b': 3}]
如果您使用的是 Python 3.x,您可能需要使用 list
对字典值进行函数处理,如下所示
>>> list({item['b'] : item for item in reversed(mydictList)}.values())
注意:此解决方案可能不会维护字典的顺序。
关于python - 根据键的重复值从列表中删除字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25028593/