<分区>
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'}
]
什么是最好的方法?
标签 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/