Forwarded from Deleted Account
可是许多语言都能这么写(collection 而不止 dict),而且这很自然(本来就不是 k in dict 的一种)
Forwarded from Deleted Account
可是我只写应用,用户感受不到那”慢“啊
我只在乎代码好不好看,我觉得
我只在乎代码好不好看,我觉得
(x in xs) 很直接"dog" in animals 足够好看Forwarded from Deleted Account
好,我这就来测试一下。
—
接下来我们就小小地测试一下
现在你说哪个快???是用 (x in xs) 好还是用
from time import perf_counter
def measureTime(op: callable) -> int:
started = perf_counter()
op(); ended = perf_counter()
return ended - started
def repeat(n, op: callable):
for _ in range(1, n):
op() —
measureTime(lambda: repeat(100, lambda: print("wtf"))) #0.0015090369997778907 接下来我们就小小地测试一下
x in xs 和 xs.__contains__(x)。COUNT = 1_000_000
list = [1, 2, 3]
measureTime(lambda: repeat(COUNT, lambda: 4 in list)) #0.3801817240018863measureTime(lambda: repeat(COUNT, lambda: list.__contains__(4))) #0.5797258120001061现在你说哪个快???是用 (x in xs) 好还是用
xs.__contains__(x) 好还是说你有其他方法?Forwarded from Deleted Account
所以说我测试了,所以说请为你的”好看 必要 跑得快“ 这个逻辑 进行举证,或者质疑我的性能评测有问题。
Forwarded from Deleted Account
好,我试试,但数据是 [1,2,3],你说我怎么给它转化成 dict?
这样吧,我
这样吧,我
list = dict([(x, x) for x in list])Forwarded from Deleted Account
群友,big-O notation 是 O(1), O(n),不是 o1 on……