我遇到了一个问题,我必须从这样的列表中过滤掉骗子
a = [1,1,4,5,6,5]
这是我的代码:
def unique(a):
uni = []
for value in a:
if value[0] not in found:
yield value
found.add(value[0])
print list(unique(a))
但是,当我定义列表、a
和 tryunique(a)
时,我得到以下输出:
<generator object unique at 0x0000000002891750>
有人可以告诉我我做错了什么吗?为什么我拿不到名单?
编辑,新问题..我能够让它打印出过滤后的列表,但我失去了列表的顺序。我怎样才能防止这种情况?
def unique(a):
s = set()
for i in a:
if i not in s:
s.add(i)
return s