本文實例對比分析了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,并不會花什么時間。