找到一种可以去除list中重复的dict元素的方法,但是不大看得懂。麻烦大佬讲解一下
li = [{'a': 1}, {'b': 2}, {'a': 1}] li = [dict(t) for t in set([tuple(d.items()) for d in li])]
结果为:[{'a': 1}, {'b': 2}]
[{'a': 1}, {'b': 2}]
你把它分解来看就好了, 第一步把 dict 列表转成 tuple 列表,
> [tuple(d.items()) for d in li]) [(('a', 1),), (('b', 2),), (('a', 1),)]
然后外面加个 set() 去重, 最后把去重后的 tuple set 转成 dict list
set()
1.2m questions
2.1m answers
5 comments
56.1k users