在遍历对比中,我曾使用.index函数去对列表元素进行比较,在index函数中,描述为
这意味着A元素并不是完全等同于B元素,而是B元素中包含了A元素,在这种情况下,才需要使用到index函数,盲目使用函数或许浪费大部分性能,并且index抛出错误,使用try将再次损耗性能
所以 我做了以下测试,去验证性能
首先使用time模块并定义两个列表用于比较
由于单独运行的结果非常小,所以采用同样的循环增加次数
完整验证代码如下
#列表查找检测
import time
list=[1,2,3,4,5,6,7]
list1=[1,2,3,4,5,6,7,8,9,10,11,12,13,14]
start = time.time()
k=0
while k < 10000:
k+=1
for i in list1:
for n in list:
if i == n :
object_listnnnn = i
else:
object_listnnnn = i
end = time.time()
print((end - start))
start = time.time()
k=0
while k < 10000:
k+=1
for i in list1:
for n in list:
try:
object_listnnnn = list.index(i)
object_listnnnn = i
except:
object_listnnnn = i
end = time.time()
print((end - start))
测试数据如下
1 | 2 | 3 | 4 | 5 | 平均 |
0.946957827 | 0.905968666 | 0.958954811 | 0.969058275 | 0.95286417 | 0.94676075 |
2.534870863 | 2.589108944 | 2.583881617 | 2.469177961 | 2.526067257 | 2.540621328 |
明显采用第一种方法速度将是大于一倍