最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python列表倒序輸出及其效率詳解

 更新時間:2020年03月04日 08:35:38   作者:ccneko  
在本篇文章里小編給大家整理的是關(guān)于Python列表倒序輸出及其效率詳解內(nèi)容,需要的朋友們學(xué)習(xí)下。

Python列表倒序輸出及其效率

方法一

使用Python內(nèi)置函數(shù)reversed()

for i in reversed(arr): pass

reversed返回的是迭代器,所以不用擔(dān)心內(nèi)存問題。

方法二

使用range()倒序

for i in range(len(arr) - 1, -1, -1): pass

方法三

先使用list自帶的reverse()函數(shù),再用range()循環(huán)

arr.reverse()
for i in range(len(arr)): pass

因?yàn)橐鹊剐?,再循環(huán),所以效率會比較低。

方法四

先使用list自帶的sort()函數(shù)來倒序,再用range()循環(huán)

arr.sort(reverse=True)
for i in range(len(arr)): pass

因?yàn)橐扰判?,再循環(huán),所以效率會比較低。

這里不討論P(yáng)ython內(nèi)置函數(shù)sorted(),它的效率比list自帶的sort()函數(shù)要慢。

效率

對比代碼

import time

arr = [x for x in range(10000000)]
arr1 = arr.copy()

start = time.process_time()
for i in reversed(arr): pass
end = time.process_time()
print('方法一(reversed):', end - start)

start = time.process_time()
for i in range(len(arr) - 1, -1, -1): pass
end = time.process_time()
print('方法二(range倒序):', end - start)

start = time.process_time()
arr.reverse()
for i in range(len(arr)): pass
end = time.process_time()
print('方法三(先reverse再range):', end - start)

start = time.process_time()
arr1.sort(reverse=True)
for i in range(len(arr1)): pass
end = time.process_time()
print('方法四(先sort再range):', end - start)

對比結(jié)果

數(shù)組長度為一百萬時(跑了三次):

數(shù)組長度為一千萬時(跑了兩次):

數(shù)組長度為一億時(跑了兩次):

結(jié)論

效率:方法一 > 方法二 > 方法三 > 方法四

然而并不差多少emmm

但還是盡量使用迭代器吧,數(shù)據(jù)量很大的時候不用迭代器的話有可能會占用過多的內(nèi)存。

到此這篇關(guān)于Python列表倒序輸出及其效率詳解的文章就介紹到這了,更多相關(guān)Python列表倒序輸出及其效率內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

甘南县| 石家庄市| 马公市| 宁海县| 永吉县| 鲁山县| 安宁市| 海盐县| 梁平县| 合川市| 开江县| 株洲市| 衢州市| 鄄城县| 彭阳县| 洮南市| 同德县| 蓬溪县| 林周县| 资源县| 福鼎市| 闵行区| 玛沁县| 滕州市| 平顺县| 阳信县| 上高县| 长治市| 鸡西市| 洪雅县| 兴义市| 九龙坡区| 天等县| 嘉鱼县| 临沭县| 和龙市| 茂名市| 井研县| 鄂托克旗| 卢龙县| 独山县|