gpt4 book ai didi

python 生成器重复

转载 作者:太空狗 更新时间:2023-10-30 01:47:15 24 4
gpt4 key购买 nike

如何避免将重复的条目添加到生成器中或在已经存在的情况下将其删除?

如果我应该使用其他东西,请提出建议。

最佳答案

如果值是可散列的,最简单、最愚蠢的删除重复项的方法是使用 set:

values = mygenerator()
unique_values = set(values)

但要注意:集合不记得值最初的顺序。所以这打乱了顺序。

下面的函数可能比 set 更适合您的目的。它过滤掉重复项,而不会弄乱任何其他值:

def nub(it):
seen = set()
for x in it:
if x not in seen:
yield x
seen.add(x)

使用一个参数调用nub,任何可迭代的哈希值。它返回一个迭代器,该迭代器生成所有相同的项,但删除了重复项。

关于python 生成器重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4230063/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com