def dedupe(items, key=None):
seen = set()
for item in items:
val = item if key is None else key(item)
if val not in seen:
yield item
seen.add(val) def deleteRepeat(lst):
'''
列表去重
:param lst:
:return:
'''
if not lst:
return lst
try:
l = list(dedupe(lst, key=lambda k: (k[key1], k[key2])))
except:
l = []
l.append(lst[0])
for dict in lst:
k = 0
for item in l:
if dict[key1] != item[key1] or dict[key2] != item[key2]:
k = k + 1
else:
break
if k == len(l):
l.append(dict)
return l
相关文章
- 12-26python list dict 去重的两种方式
- 12-26python语言list的合并于去重
- 12-26优选list的几种去重方式
- 12-26JavaScript数组去重—ES6的两种方式
- 12-26转:python中对list去重的多种方法
- 12-26mysql 去重的两种方式
- 12-26Java集合List去重的几种方式
- 12-26python list去重的方法