一、 感谢:https://www.cnblogs.com/yifengs/p/12314983.html
ll = [
{
"name":"1",
"no":"2"
},
{
"name": "1",
"no": "2"
},
{
"name": "2",
"no": "3"
}
]
func = lambda x, y: x if y in x else x + [y]
ll = reduce(func, [[], ] + ll)
print(ll) # [{'name': '1', 'no': '2'}, {'name': '2', 'no': '3'}]
输出:
[{'name': '1', 'no': '2'}, {'name': '2', 'no': '3'}]
二、感谢:http://t.zoukankan.com/a438842265-p-13671048.html
raw_list = [
["百度", "CPY"],
["百度", "CPY"],
["京东", "CPY"],
["百度", "CPY", ]
]
new_list = [list(t) for t in set(tuple(_) for _ in raw_list)]
new_list.sort(key=raw_list.index)
print(new_list) # [['百度', 'CPY'], ['京东', 'CPY']]
data_list = [{"a": "123", "b": "321"}, {"a": "123", "b": "321"}, {"b": "321", "a": "23"}]
seen = set()
new_l = []
for d in data_list:
t = tuple(d.items())
if t not in seen:
seen.add(t)
new_l.append(d)
print(new_l) # [{'a': '123', 'b': '321'}, {'b': '321', 'a': '23'}]