可迭代对象去重
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'])))