gpt4 book ai didi

python - 如何从 Python 的字典列表中删除基于选定键的重复字典?

转载 作者:太空狗 更新时间:2023-10-29 22:29:37 25 4
gpt4 key购买 nike

我是 Python 的新手,正在尝试尽可能多地学习它。我遇到了一个愚蠢的问题,我想根据选择性键值对删除列表中的某些字典项。例如,我有:

l = [{'A':1, 'B':2, 'C':3, 'D':4},
{'A':5, 'B':6, 'C':7, 'D':8},
{'A':1, 'B':9, 'C':3, 'D':10}]

我想要的输出是根据两个键 AC 值删除字典:

l = [{'A':1, 'B':2, 'C':3, 'D':4},
{'A':5, 'B':6, 'C':7, 'D':8}]

最佳答案

使用 set记住项目是否被看到。

>>> A, B, C, D = 'ABCD'
>>>
>>> lst = [
... {A:1, B:2, C:3, D:4},
... {A:5, B:6, C:7, D:8},
... {A:1, B:9, C:3, D:10}
... ]
>>> seen = set()
>>> [x for x in lst if [(x[A], x[C]) not in seen, seen.add((x[A], x[C]))][0]]
[{'A': 1, 'C': 3, 'B': 2, 'D': 4}, {'A': 5, 'C': 7, 'B': 6, 'D': 8}]

关于python - 如何从 Python 的字典列表中删除基于选定键的重复字典?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34834870/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com