Skip to main content
 首页 » 编程设计

python之检查所有生成的元素是否相等的惰性方法

2025年05月04日11hnrainll

给定一个产生可比较值的迭代器,检查所有结果是否相等的惰性方法是什么。也就是说,在不消耗整个生成器的情况下尽快失败。所以 len(set(g))==1 将不起作用。

我正在寻找库函数的简单表达式/组合。没有 def。

请您参考如下方法:

怎么样:

first = next(gen) 
if all(x==first for x in gen): 
    print "They're all the same!" 

(Rob Wouters 在评论中描述了这个算法,我只是把它放到了 Python 中)

正如 F.J 所发现的,这将在空迭代器上失败,并且它假设您已经有了一个迭代器,而不仅仅是一个可迭代。他的回答解决了这两点。