鱼C论坛

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

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

  [复制链接]
发表于 2021-11-23 14:21:18 | 显示全部楼层
看看究竟是啥代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-11-30 12:54:38 | 显示全部楼层
不会怎么班
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-11-30 20:11:52 | 显示全部楼层
撒旦撒
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-11-30 20:15:57 | 显示全部楼层
装饰器
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-11-30 22:26:07 | 显示全部楼层
1
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-12-2 19:43:14 | 显示全部楼层
看答案
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-12-2 19:45:55 | 显示全部楼层
用set的话,haystack里如果有重复不是会被去掉,进而影响结果吗?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-12-3 11:34:53 | 显示全部楼层
for i in
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-12-3 12:37:16 | 显示全部楼层
啊这
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-12-3 16:08:46 | 显示全部楼层
aaaaaa
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-12-4 22:28:35 | 显示全部楼层
萌新来看看,留下来以后研究
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-12-5 20:21:15 | 显示全部楼层
BUHUI。。。。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-12-6 10:02:30 | 显示全部楼层
听了小甲鱼的课程,将列表haystack转换成集合即可做到这一点!
  1. haystack = set(haystack)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-12-6 12:08:25 | 显示全部楼层
牛啊
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-12-6 14:16:36 | 显示全部楼层
1
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-12-7 13:58:43 | 显示全部楼层
  1. import random
  2. import timeit

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

  5. haystack = set(haystack)

  6. def find():
  7.     found = 0
  8.     for each in needles:
  9.         if each in haystack:
  10.             found += 1

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

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

使用道具 举报

发表于 2021-12-28 20:31:57 | 显示全部楼层
  1. import random
  2. import timeit

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

  5. haystack = [i for i in haystack if i <= 1000]

  6. def find():
  7.     found = 0
  8.     for each in needles:
  9.         if each in haystack:
  10.             found += 1

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

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

使用道具 举报

发表于 2022-1-6 09:28:09 | 显示全部楼层
我还是太菜了,没想出来
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-1-6 10:57:15 | 显示全部楼层
555
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-1-6 17:24:50 | 显示全部楼层
学习学习
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-10-1 05:01

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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