# 如果序列中存储的元素是可哈希的,那就可以使用集合与生成器解决 def dequpe(items): seen = set() for item in items: if item not in seen: yield item seen.add(item) # 如果序列里的元素是不可哈希的,比如字典这种东西,就要先转化为可哈希对象; # 这里自定义的key函数就起到了给字典解包的作用 def dequpe(items, key): 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) # 如果单纯的做不改变顺序的去重,直接转集合再转列表就行了 a = [1,5,2,1,9,1,5,10] a = list(set(a)) print(a)