可迭代对象去重(保持顺序不变)
def filter_multi(items,key=None):
"""
可迭代对象去重(保持顺序不变)
[1,4,7,2,4,7,3,5] ==> [1,4,7,2,3,5]
"""
its = list()
for x in items:
val = x if key is None else key(x)
if val not in its:
yield val
its.append(val)
#如:
print list(filter_multi([1,3,5,3,7,2,4,2]))
items = [{'a':1,'b':2},{'a':3,'b':4},{'a':1,'b':2},{'a':5,'b':6}]
print list(filter_multi(items,key=lambda k:(k['a'],k['b'])))
本文介绍了一种在Python中实现可迭代对象去重的方法,该方法能够保留元素原有的顺序,并支持通过键函数进行定制化的去重操作。适用于列表、元组等数据结构的重复项去除。
2805

被折叠的 条评论
为什么被折叠?



