Python,检查数组元素是否全部相同

时间:2020-06-19 08:46:01

标签: python

我有一个数组,例如[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

2 个答案:

答案 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

基本上与您使用的版本相同;这样,只有循环会更有效率。

还请注意,truefalse不是有效的python标识符。在python中,它是TrueFalse