/tmp/duangsuse.sock
23 subscribers
303 photos
3 videos
92 files
337 links
从 duangsuse::Echo (@dsuse) 跟进出来的分支,将在作者恢复原帐号访问的时候合并删除。
Download Telegram
Forwarded from 任桑 今天开始做魔王
不要list
Forwarded from 任桑 今天开始做魔王
in实际上是遍历
Forwarded from Deleted Account
可是许多语言都能这么写(collection 而不止 dict),而且这很自然(本来就不是 k in dict 的一种)
Forwarded from 任桑 今天开始做魔王
python这样写会慢
Forwarded from 任桑 今天开始做魔王
list
Forwarded from 任桑 今天开始做魔王
你可以自己测试一下,很容易的
Forwarded from Deleted Account
可是我只写应用,用户感受不到那”慢“啊
我只在乎代码好不好看,我觉得 (x in xs) 很直接
"dog" in animals 足够好看
Forwarded from 任桑 今天开始做魔王
跑不快的代码肯定是不好看的代码,而且你不是真的在乎好不好看,只是在为不熟悉语法进行辩解
Forwarded from 任桑 今天开始做魔王
多写写就好了
Forwarded from 任桑 今天开始做魔王
问题不大
Forwarded from Deleted Account
好,我这就来测试一下。

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 xsxs.__contains__(x)

COUNT = 1_000_000
list = [1, 2, 3]
measureTime(lambda: repeat(COUNT, lambda: 4 in list))
#0.3801817240018863
measureTime(lambda: repeat(COUNT, lambda: list.__contains__(4))) #0.5797258120001061


现在你说哪个快???是用 (x in xs) 好还是用 xs.__contains__(x) 好还是说你有其他方法?
Forwarded from Deleted Account
所以说我测试了,所以说请为你的”好看 必要 跑得快“ 这个逻辑 进行举证,或者质疑我的性能评测有问题。
Forwarded from Deleted Account
所以说你的这句没道理啊,你还有什么更快的方法,我这可以一并测试了。
Forwarded from 任桑 今天开始做魔王
实际上就是遍历,离开始的数近,时间就短
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……
Forwarded from 任桑 今天开始做魔王
因为list是无索引数组,查询的时候是遍历查询,所以建议不要用in list,我一开始是不是这么说的
Forwarded from 任桑 今天开始做魔王
算了,我去吃饭了
Forwarded from Deleted Account
所以你是说我”不懂语法“???我真的不是不懂这些基础数据结构啊……
Forwarded from Deleted Account
语法的实现是抽象的,我是这个意思,看你开始的时候是说”不要用 in“,没说”不要用 list“,这是在概论你所谓的”in“语法。
所以我不懂 HashSet?就看我是从 Java 群来的,这是一种偏见好不好……
Forwarded from Deleted Account
我真的觉得很草啊,怎么感觉这群友是误会我说 list 和 dict ”性能“不一样了的感觉
我没说 list 和 dict 啊,我是在反驳他开始说的”别用 (x in xs)“……

还有我理不理解语法和这个问题有什么关系,难道我真的不理解语法?……