本文實例對比分析了Python判斷值是否在list或set中的執行性能。分享給大家供大家參考,具體如下:
判斷值是否在set集合中的速度明顯要比list快的多, 因為查找set用到了hash,時間在O(1)級別。
假設listA有100w個元素,setA=set(listA)即setA為listA轉換之后的集合。
以下做個簡單的對比:
for i in xrange(0, 5000000): if i in listA: passfor i in xrange(0, 5000000): if i in setA: pass
第一個循環用了16min,第二個循環用了52s。 由此可見,在set中判斷是否存在某值的效率要高的多。
況且,從list轉為set,并不會花什么時間。
更多關于Python相關內容感興趣的讀者可查看本站專題:《Python函數使用技巧總結》、《Python字符串操作技巧匯總》、《Python入門與進階經典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對大家Python程序設計有所幫助。
新聞熱點
疑難解答
圖片精選