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……
Forwarded from 任桑 今天开始做魔王
因为list是无索引数组,查询的时候是遍历查询,所以建议不要用in list,我一开始是不是这么说的
Forwarded from Deleted Account
语法的实现是抽象的,我是这个意思,看你开始的时候是说”不要用 in“,没说”不要用 list“,这是在概论你所谓的”in“语法。
所以我不懂 HashSet?就看我是从 Java 群来的,这是一种偏见好不好……
所以我不懂 HashSet?就看我是从 Java 群来的,这是一种偏见好不好……
Forwarded from Deleted Account
我真的觉得很草啊,怎么感觉这群友是误会我说 list 和 dict ”性能“不一样了的感觉
我没说 list 和 dict 啊,我是在反驳他开始说的”别用 (x in xs)“……
还有我理不理解语法和这个问题有什么关系,难道我真的不理解语法?……
我没说 list 和 dict 啊,我是在反驳他开始说的”别用 (x in xs)“……
还有我理不理解语法和这个问题有什么关系,难道我真的不理解语法?……
Forwarded from Deleted Account
我那时候说的是 set,然后他在比较 list 和 dict,根本就不是一个抽象数据结构好不好……
而且他说”最好操作 dict 而不是 list“也会让人误会啊,因为有人就是要操作 list,和 dict 有啥关系……他说先转化为 dict 再查询不就好理解了……
而且他说”最好操作 dict 而不是 list“也会让人误会啊,因为有人就是要操作 list,和 dict 有啥关系……他说先转化为 dict 再查询不就好理解了……
Forwarded from Deleted Account
可是我们刚才谈的是 很大的数据存量,然后操作…… 而不是创建很多的 dict, list, set 实例……
Forwarded from 任桑 今天开始做魔王
不熟悉语法本身没什么丢人的,大家都在一点点抠一点点的看,一起探索交流,不清楚的地方大家会一起解释和探讨,你要觉得自己很厉害,听一帮都不知道是谁的群友为你讲解,让你感觉丢人,也没关系,开个小号到群里问就是了,不要在这里犟,大家都不开心,你也得不到提高
Forwarded from Deleted Account
关键是看了你的回复我感觉你把我当弟弟了…… 我只是想平等交流一下你之前说的那个 ”别用
in “ 的这个问题的……Forwarded from Deleted Account
也不能说全是我的错哈?他说要用 dict 而不是用 list,如果他说”应该先转化为 dict 再判断 in 更快“这不就不容易误解了?
Forwarded from Deleted Account
我以为他强调的就是:不应该用 in、不应该用 list
其实都是在说用 set 的情况,那就
其实都是在说用 set 的情况,那就
x in set(list) 呗。Forwarded from Deleted Account
之前我想说的不是 O(n) 的 list 和 O(1) 的 set 有什么区别。
至于 @neko_haruya 说的不懂语法,清者自清。如果真的不懂的话我是怎么写那个性能评测的…… ←_←
如果以 “数据量大的话别用 list.__contains__” 表达(而不是说别用 x in list),就不会导致我的误会了。
何况如果你用 set 而不是 dict 的话我也更容易理解一些啊…… 说的 x in dict 不就是 x in set(dict)#dict_keys 吗?
毕竟没法直接通过一参架构器把 list 变成 dict 的吧……
最后我依然想说一句(半开玩笑地),用 Python 了各位大佬还管什么性能…… 用 numpy 、Julia 去吧
应用程序有应用程序的要求、特定算法有特定算法的要求,并不是说要代码好看就一定得“高性能”,性能低的代码就一定很丑。
前几天我在 JetBrains 的 issue tracker 看到一条和性能有关的问题,团队员工的答案我觉得很有引用价值。
最后祝熬夜的大佬们 have a nice night,以上。
至于 @neko_haruya 说的不懂语法,清者自清。如果真的不懂的话我是怎么写那个性能评测的…… ←_←
如果以 “数据量大的话别用 list.__contains__” 表达(而不是说别用 x in list),就不会导致我的误会了。
何况如果你用 set 而不是 dict 的话我也更容易理解一些啊…… 说的 x in dict 不就是 x in set(dict)#dict_keys 吗?
毕竟没法直接通过一参架构器把 list 变成 dict 的吧……
最后我依然想说一句(半开玩笑地),用 Python 了各位大佬还管什么性能…… 用 numpy 、Julia 去吧
应用程序有应用程序的要求、特定算法有特定算法的要求,并不是说要代码好看就一定得“高性能”,性能低的代码就一定很丑。
前几天我在 JetBrains 的 issue tracker 看到一条和性能有关的问题,团队员工的答案我觉得很有引用价值。
最后祝熬夜的大佬们 have a nice night,以上。
之前我想说的不是 O(n) 的 list 和 O(1) 的 set 有什么区别。
至于 @neko_haruya 说的不懂语法,清者自清。如果真的不懂的话我是怎么写那个性能评测的…… ←_←
如果以 “数据量大的话别用 list.__contains__”
表达(而不是仅仅说别用 x in list 然后不断强调 list 以及 O(n) 和 in 语法的关联)
就不会导致我的误会了。
何况如果你用 set 而不是 dict 的话我也更容易理解一些啊…… 说的 x in dict 不就是 x in set(dict)#dict_keys 吗?
毕竟没法直接通过一参架构器把 list 变成 dict 的吧……
最后我依然想说一句(半开玩笑地),用 Python 了还管什么性能…… 上 numpy 、Julia 吧
应用程序有应用程序的要求、特定算法有特定算法的要求,并不是说要代码好看就一定得“高性能”,性能低的代码就一定很丑。
前几天我在 JetBrains 的 issue tracker 看到一条和性能有关的问题,团队人员的答案我觉得很有引用价值。
最后祝熬夜的 dalao 们 nice night,以上。
至于 @neko_haruya 说的不懂语法,清者自清。如果真的不懂的话我是怎么写那个性能评测的…… ←_←
如果以 “数据量大的话别用 list.__contains__”
表达(而不是仅仅说别用 x in list 然后不断强调 list 以及 O(n) 和 in 语法的关联)
就不会导致我的误会了。
何况如果你用 set 而不是 dict 的话我也更容易理解一些啊…… 说的 x in dict 不就是 x in set(dict)#dict_keys 吗?
毕竟没法直接通过一参架构器把 list 变成 dict 的吧……
最后我依然想说一句(半开玩笑地),用 Python 了还管什么性能…… 上 numpy 、Julia 吧
应用程序有应用程序的要求、特定算法有特定算法的要求,并不是说要代码好看就一定得“高性能”,性能低的代码就一定很丑。
前几天我在 JetBrains 的 issue tracker 看到一条和性能有关的问题,团队人员的答案我觉得很有引用价值。
最后祝熬夜的 dalao 们 nice night,以上。