在Python中,测试列表中所有值是否相等是一种简单的方法?
发布于 2011-01-21 04:41:11
>>> a = [1, 1, 1, 1]
>>> len(set(a))
1
请注意,此方法假定列表中的每个元素都可以放入一个集合中。某些类型,如可变类型,不能放入一个集中。
发布于 2011-01-21 04:40:25
>>> l = [1, 1, 1, 1]
>>> all(map(lambda x: x == l[0], l))
True
发布于 2011-01-21 04:48:39
正如Greg Hewgill指出的那样,使用set
是一个很好的解决方案。这是另一个更懒惰的元素,所以如果有一对元素不相等,则不会比较其余的元素。在比较所有项目时,这可能比set
解决方案慢,但没有对其进行基准测试。
l = [1, 1, 1]
all(l[i] == l[i+1] for i in range(len(l)-1))
请注意特殊情况all([]) == True
。
https://stackoverflow.com/questions/4752294
复制相似问题