这可能是重复的,但我能找到的最接近的是比较 2 个列表,这些列表由 python 中具有唯一键的字典组成,这对我不起作用。
所以我有两个字典列表。
y = [{'a': 3, 'b': 4, 'c': 5}, {'a': 1, 'b': 2, 'c': 3}]
y = [{'a': 4, 'b': 5, 'c': 6}, {'a': 1, 'b': 2, 'c': 3}]
Run Code Online (Sandbox Code Playgroud)
我如何比较这两个列表,以便我的比较结果是两个列表的交集。我无法将其转换为设置,因为它表示不可散列类型 (dict)
你的问题和它的标题似乎相互矛盾。
两个列表的交集将是两个列表的公共元素。问题标题请求不在两个列表中的元素。你想要的是哪个?
对于交集,它的效率不是很高(时间为 O(n^2)),但是这个列表推导式可以做到:
>>> a = [{'a': 3, 'b': 4, 'c': 5}, {'a': 1, 'b': 2, 'c': 3}]
>>> b = [{'a': 4, 'b': 5, 'c': 6}, {'a': 1, 'b': 2, 'c': 3}]
>>> [d for d in a if d in b]
[{'a': 1, 'b': 2, 'c': 3}]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1848 次 |
| 最近记录: |