有三种思路:
- 将列表构造为集合,再判断长度
- 用一个元素与所有元素比较
- 比较列表第一个元素的个数和列表长度
import numpy as np
import time
import random
a = [1 for i in range(100000000)]
a[99999998] = 2
tic = time.time()
print(len(set(a)) == 1)
toc = time.time()
print(toc-tic)
False
1.0153181552886963
tic = time.time()
print(all(x == 1 for x in a))
toc = time.time()
print(toc-tic)
False
5.827450275421143
tic = time.time()
print(a.count(a[0]) == len(a))
toc = time.time()
print(toc-tic)
False
0.10375499725341797