2024-05-16 18:48:41 发布
网友
Possible Duplicate:check if all elements in a list are identical
我想检查一下列表中的所有元素是否相等。我不能这么做:
if all (x == x for x in (a, b, c, d)): ...
在Python中有没有非常简单和优雅的方法来实现这一点?
first = my_list[0] print all(x==first for x in my_list[1:])
应该有用
也许更优雅。。。(我不这么认为……)
>>> if reduce(lambda item0,item1:item0 if item0==item1 else False,my_list) is not False: ... print "OK ALL THE SAME!" ... OK ALL THE SAME!
all(x == items[0] for x in items)
这就是你要找的。
否则,您将把每个值与自身进行比较,而不是将每个值与第一个值进行比较。
如果列表中只有散列元素,则可以使用set。
例如,如果列表名为lst,则可以执行以下操作:
lst
if (len(set(lst)) <= 1): ....
集合将消除列表中的所有重复项,因此如果集合的长度为1,则意味着所有元素都是相同的。
应该有用
也许更优雅。。。(我不这么认为……)
这就是你要找的。
否则,您将把每个值与自身进行比较,而不是将每个值与第一个值进行比较。
如果列表中只有散列元素,则可以使用set。
例如,如果列表名为
lst
,则可以执行以下操作:集合将消除列表中的所有重复项,因此如果集合的长度为1,则意味着所有元素都是相同的。
相关问题 更多 >
编程相关推荐