我在我的程序中操作大列表,那么知道列表是否填充相同数字的最快方法是什么?而且我无法使用模块。
例如:
>>> isFilled([1,1,1,1,1])
True
>>> isFilled([5,5,5,5])
True
>>> isFilled([1,6,5,1,1])
False
我已经这样做了,但是它创建了一个新列表,这是我处理大列表时的一个问题:
def isFilled(lst):
return [lst[0]]*len(lst) in lst
请您参考如下方法:
此处:所有(x==lst[0] for x in lst)。 (x==lst[0] for x in lst) 是 generator comprehension . all()如果传递给 bool() 时迭代器的所有元素(生成器理解是迭代器)返回 True,则返回 True ,它将值转换为 bool 值(True 或 False)。请注意,它在发现不同元素后立即评估为 False。
