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

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

 更新時(shí)間: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),所以效率會(huì)比較低。

方法四

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

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

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

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

效率

對(duì)比代碼

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)

對(duì)比結(jié)果

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

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

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

結(jié)論

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

然而并不差多少emmm

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

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

相關(guān)文章

最新評(píng)論

黑山县| 昌平区| 大荔县| 广宗县| 潢川县| 平舆县| 漯河市| 蚌埠市| 青岛市| 博野县| 青河县| 习水县| 博兴县| 泗洪县| 辉南县| 施秉县| 融水| 平昌县| 南华县| 宝坻区| 孙吴县| 乃东县| 沂源县| 西林县| 社会| 南澳县| 日喀则市| 岳池县| 璧山县| 藁城市| 且末县| 上栗县| 六枝特区| 海安县| 玉林市| 仁寿县| 砚山县| 伊金霍洛旗| 台江县| 红原县| 绵阳市|