我有如下功能:
def fun(content):
for i in content:
id = i.split('\"')[0]
yield id
return id
问题是内容中存在一些重复的值。 有没有办法知道值'id'是否已经在生成器'id'中?而不是获得最终的生成器,然后使用set()?
答案 0 :(得分:1)
您可以使用set
内的fun
来跟踪已经看到的ID:
def fun(content):
observed = set()
for i in content:
id = i.split('\"')[0]
if id not in observed:
observed.add(id)
yield id
此外,由于您不会产生ID,因此您不需要在最后返回。