鱼C论坛

 找回密码
 立即注册
楼主: 小甲鱼

[其他] 添加一行代码,提高10000倍以上的执行效率

  [复制链接]
发表于 2022-4-27 07:47:13 From FishC Mobile | 显示全部楼层
过滤haystack中大于10000的数
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-4-27 13:19:33 | 显示全部楼层
看看答案= =
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-5-1 13:06:37 | 显示全部楼层
1
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-5-3 15:51:29 From FishC Mobile | 显示全部楼层
求教
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-5-6 19:48:38 | 显示全部楼层
查看答案解析
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-5-8 12:03:56 | 显示全部楼层
是什么!!!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-5-8 13:23:37 | 显示全部楼层
想不出。。。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-5-8 17:41:34 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-5-8 19:55:34 | 显示全部楼层
1
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-5-8 21:11:33 | 显示全部楼层
看看
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-5-12 20:23:54 | 显示全部楼层
kkk
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-5-13 08:41:10 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-5-13 20:51:45 | 显示全部楼层
1
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-5-13 22:24:34 | 显示全部楼层
看看
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-5-14 08:30:49 | 显示全部楼层
本帖最后由 shureby 于 2022-5-14 08:34 编辑

发现一个问题,变list为set虽然会提高效率,这个没问题,但是问题是haystack = set(haystack)操作破坏了haystack。现在客户说你输出一个haystack咋办?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-5-15 05:10:46 | 显示全部楼层
太难了,看一看
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-5-15 09:01:21 | 显示全部楼层
转集合
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-5-16 13:11:03 | 显示全部楼层
11
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-5-16 20:00:14 | 显示全部楼层
不知道啊
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-5-17 11:50:51 | 显示全部楼层
import random
import timeit

haystack = [random.randint(1, 10000000) for i in range(10000000)]
needles = [random.randint(1, 1000) for i in range(1000)]

haystack = [each for each in set(haystack) if each<1000]

def find():
    found = 0
    for each in needles:
        if each in haystack:
            found += 1

    print(f"一共找到{found}个匹配。")

t = timeit.repeat("find()", setup="from __main__ import find",repeat=20, number=1)
print(f"查找过程一共消耗{t}秒。")
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-10-1 07:39

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表