看板 Python 關於我們 聯絡資訊
: l1 = ['b','c','d','b','c','a','a'] : s1 = set(l1) : temp =set() : while len(l1) > 1: : temp.add(l1.pop()) : s1 = s1 & (temp ^ set(l1)) : print(list(s1)) : 非資工出身python初學者 : 借用這題來發問,要怎麼計算code效率? : 例如上面解法大於O(n)? 參考 pingxx123 大大的解法 """ 參考Counter的演算法 l2 = dict() for i in l1: l2[i] = l2.get(i, 0) + 1 """ 上面三行等於 from collections import Counter l2 = Counter(l1) result = [key for key, value in l2.items() if value == 1] 不過自己刻算出來跟Counter 會差個兩三倍左右 不知道是不是內建的有什麼加速機制 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 125.227.65.79 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1576554008.A.EE4.html
eric781101: built-in modules are written in C. 一定會比自己寫 12/17 14:58
eric781101: 的快 12/17 14:58
thefattiger: 寫Python這種高階語言還要自己刻的話不如去寫C 12/18 01:32