python - 从字典列表中获取唯一值

标签 python

<分区>

Possible Duplicate:
how to uniqify a list of dict in python

我有一个列表如下

[
{'x':'1','y':'1'},{'x':'2','y':'2'},{'x':'1','y':'1'}
]

我想得到一个新列表如下(唯一元素)

[
{'x':'1','y':'1'},{'x':'2','y':'2'}
]

什么是最好的方法?

最佳答案

import ast

l = [
{'x':'1','y':'1'},{'x':'2','y':'2'},{'x':'1','y':'1'}
]

[ast.literal_eval(el1) for el1 in set([str(el2) for el2 in l])]

通常保持唯一元素的简单解决方案是将它们添加到集合中。然而,由于 dict 是不可散列的(不能放在一个集合中),我提供了一个解决方法。首先,字典被转换成字符串,放在一个集合中(以保持唯一性),然后使用 ast.literal_eval 转换回字典。

关于python - 从字典列表中获取唯一值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11741876/

相关文章:

python - 查找字符串中重叠和非重叠子字符串的数量

python - 由于 gunicorn, Airflow 启动失败

python - 急切模式下的 tensorflow 梯度返回零

python - Azure Functions Python Blob 图像

python - 将数据框中的 NaN 转换为零

python - 在特定位置插入xml节点

python - 如何从命令行使用 Scrapy 传递表单数据?

python - 填充3D绘图Python

python - 如何在我的项目中安装 django-scheduler。我收到一条错误消息,指出无法导入模块

python - AttributeError: 'str' 对象没有属性 'shape',同时使用 BertModel 和 PyTorch(拥抱面)对张量进行编码