wdxunxun 发表于 2021-11-30 22:26:07

1

zsy1998 发表于 2021-12-2 19:43:14

看答案

zsy1998 发表于 2021-12-2 19:45:55

用set的话,haystack里如果有重复不是会被去掉,进而影响结果吗?

1137822982 发表于 2021-12-3 11:34:53

for i in

寂寞知己 发表于 2021-12-3 12:37:16

啊这

cc452987852 发表于 2021-12-3 16:08:46

aaaaaa

qq281831460 发表于 2021-12-4 22:28:35

萌新来看看,留下来以后研究

不会起名字的我 发表于 2021-12-5 20:21:15

BUHUI。。。。

小古比鱼 发表于 2021-12-6 10:02:30

听了小甲鱼的课程,将列表haystack转换成集合即可做到这一点!
haystack = set(haystack)

Sea727726479 发表于 2021-12-6 12:08:25

牛啊

gfy 发表于 2021-12-6 14:16:36

1

LZRoc 发表于 2021-12-7 13:58:43

import random
import timeit

haystack =
needles =

haystack = set(haystack)

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

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

t = timeit.timeit("find()", setup="from __main__ import find", number=1)
print(f"查找过程一共消耗{t}秒。")

PFBZSC 发表于 2021-12-28 20:31:57

import random
import timeit

haystack =
needles =

haystack =

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

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

t = timeit.timeit("find()", setup="from __main__ import find", number=1)
print(f"查找过程一共消耗{t}秒。")

isdkz 发表于 2022-1-6 09:28:09

我还是太菜了,没想出来{:10_262:}

隔壁老程呀 发表于 2022-1-6 10:57:15

555

ponyliujia 发表于 2022-1-6 17:24:50

学习学习

1556134029 发表于 2022-1-6 18:04:22

1

在东边 发表于 2022-1-9 12:21:58

haystack = set(haystack)

Stevan 发表于 2022-1-10 22:19:07

import random
import timeit

haystack =
needles =
haystack =set(haystack)
needles=set(needles)
# 请在此处添加一行代码,使得查找过程的执行效率提高 10000 倍以上。

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

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

t = timeit.timeit("find()", setup="from __main__ import find", number=1)
print(f"查找过程一共消耗{t}秒。")
#加了两行一共找到413个匹配。
#查找过程一共消耗0.0058315000000011秒。
#学习看看

淡淡笔迹 发表于 2022-1-10 22:41:21

1
页: 1 2 3 4 [5] 6 7 8 9 10 11 12 13 14
查看完整版本: 添加一行代码,提高10000倍以上的执行效率