測試函數:
第一種:list的set函數
第二種:{}.fromkeys().keys()
測試代碼:
#!/usr/bin/python#-*- coding:utf-8 -*-import timeimport random l1 = []leng = 10Lfor i in range(0,leng): temp = random.randint(1,10) l1.append(temp)print '測試列表長度為:',leng#first setlast = time.clock()l2 = list(set(l1))print l2now = time.clock()print '第一種:',now-last #secondlast = time.clock()l2 = {}.fromkeys(l1).keys()print l2now = time.clock()print '第二種:',now-last
測試結果:
我們可以看出,當測試列表長度很短時,使用第二種方法較快,在1000時,第一種性能已經超過第二種了,列表越長,第一種方法優勢越明顯。當頻繁的對短列表進行去重時(長度<=1000)建議使用第二種方法,當長度超過1000時建議使用第二種方法。
但歸根結底,建議不要用python進行大規模的數據計算,建議使用matlab、或者python的matlab庫,畢竟專業的還是厲害。
以上這篇對python中兩種列表元素去重函數性能的比較方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林站長站。
新聞熱點
疑難解答