Python的遍歷數組的三種方式。
遍歷方式
假設:nums=[4,5,6,10,1]
第一種,for in的語法,這種語法很方便,但是在寫Python算法裏面用到的少
for num in nums:
print (num)
第二種是下標訪問,range生成0到數組最大長度的下標數組
for index in range(len(nums)):
print (index,nums[index])
第三種是enumerate生成索引序列序列,包含下標和元素
for index,num in enumerate(nums):
print (index, num)
實際的算法面試中經常會使用第二種和第三種。
我們看下二和三的耗時。
import time
nums=range(1000000)
#Python小白學習交流羣:153708845
start=time.time()
for index in range(len(nums)):
a = nums[index]
end=time.time()
cost = end - start
print (cost)
start=time.time()
for index,num in enumerate(nums):
a = nums
end=time.time()
cost = end - start
print (cost)
遍歷方式二:0.122675895691s
遍歷方式三:0.114228963852s
可以看出第三種比第二種的性能稍微好一些,可能在數據量更大的時候會更好。