我有一个数组,例如[4 4 4 4 4]
,这里的长度是5
。在实际情况下,它可能是300
。如何检查所有元素是否相同,例如在这种情况下,所有元素均为4
。如果所有元素都具有相同的值,则该函数返回true
,否则返回false
。该元素只能是整数,而值可以是其中之一:0,1,2,3,4
。
我可以在Python中使用如下循环。但是,我正在寻找一种简洁或简单的方法来做到这一点。
x= [4,4,4,4]
temp = x[0]
for ele in x:
if(temp != ele):
false
true
答案 0 :(得分:3)
您可以将元素放入set()
中,然后检查集合的长度是否等于1
:
if len(set(x)) == 1:
print('All elements are same')
else:
print('Not same')
答案 1 :(得分:3)
不遍历整个列表(如set
构造函数)而是停在不等于x0
的第一个元素上可能会更有效率。 all
为您做到了:
x = [4,4,4,4]
x0 = x[0]
print(all(item == x0 for item in x))
# True
基本上与您使用的版本相同;这样,只有循环会更有效率。
还请注意,true
和false
不是有效的python标识符。在python中,它是True
和False
。