天天看點

python可疊代對象去重

可疊代對象去重

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'])))

繼續閱讀