python使用列表的最佳方案
經常寫Python程序的人,列表應該是使用率最高數據結構的了。我們使用列表的過程中,生成列表方式有很多種,哪一種方式性能是最好的呢?可能很多人都沒有關心過這個問題。假設要生成一個有1000個元素的列表。采用下面哪一種方式生成最好呢?
1、連接方式
def gen_list1(): l = [] for i in range(1000):l = l + [i]
2、append方法
def gen_list2(): l = [] for i in range(1000):l.append(i)
3、列表表達式
def gen_list3(): l = [i for i in range(1000)]
4、range函數
def gen_list4(): l = list(range(1000))
以上四種方式,都可以實現一個有1000個元素的列表。為了知道哪一種方式耗時最少,我們需要進行測試才可以知曉。測試耗時我們使用Timer方法,下面編寫具體測試代碼。
from timeit import Timert1 = Timer('gen_list1()', 'from __main__ import gen_list1')print('連接方式:', t1.timeit(number=1000), 'ms')t2 = Timer('gen_list2()', 'from __main__ import gen_list2')print('append方法:', t2.timeit(number=1000), 'ms')t3 = Timer('gen_list3()', 'from __main__ import gen_list3')print('列表表達式:', t3.timeit(number=1000), 'ms')t4 = Timer('gen_list4()', 'from __main__ import gen_list4')print('range函數:', t4.timeit(number=1000), 'ms')
測試程序編寫完成后,可以運行看看結果。
連接方式: 1.2728083460242487 msappend方法: 0.10177052899962291 ms列表表達式: 0.03995161800412461 msrange函數: 0.01611424400471151 ms
通過測試我們可以看出來,使用range函數生成1000個元素列表,耗時是最少的。要想寫出高性能Python程序,掌握分析程序性能的方法和熟悉每一種數據結構都是非常重要的技能。
以上就是python使用列表的最佳方案的詳細內容,更多關于python列表的資料請關注好吧啦網其它相關文章!
相關文章:
1. vue-drag-chart 拖動/縮放圖表組件的實例代碼2. vue使用moment如何將時間戳轉為標準日期時間格式3. Android studio 解決logcat無過濾工具欄的操作4. 什么是Python變量作用域5. js select支持手動輸入功能實現代碼6. PHP正則表達式函數preg_replace用法實例分析7. Android Studio3.6.+ 插件搜索不到終極解決方案(圖文詳解)8. bootstrap select2 動態從后臺Ajax動態獲取數據的代碼9. Android 實現徹底退出自己APP 并殺掉所有相關的進程10. 一個 2 年 Android 開發者的 18 條忠告
