a36804070 发表于 2024-2-2 08:57:56

学习学习

pswu 发表于 2024-2-2 09:33:04

haystack=set(haystack)

488 发表于 2024-2-22 21:22:48

1

Ephémère 发表于 2024-2-23 17:35:31

11

鸽子糕卡玛库拉 发表于 2024-3-1 07:11:52

haystack = set(haystack)

xjy257 发表于 2024-3-3 18:45:02

解析

水中有明月 发表于 2024-3-4 16:48:15

不会

易北川 发表于 2024-3-5 09:34:40

哈希

SCMoonS 发表于 2024-3-11 11:19:41

123123

lx_sgg 发表于 2024-3-12 09:28:07

haystack,needles =set(haystack),set(needles)

afadawd 发表于 2024-3-14 10:18:08

1

琉璃琥珀 发表于 2024-3-14 14:37:00

{:5_94:}

skyteam超级吕布 发表于 2024-3-16 08:36:22

1

囧哥哥 发表于 2024-4-6 16:53:34

111223123

sinychen 发表于 2024-4-7 17:54:09

import random
import timeit

# 创建大数据集
haystack = set(random.randint(1, 10000000) for i in range(10000000))
needles =

# 使用集合代替列表,将haystack转换为集合
# 这一行代码将使得查找过程的执行效率提高10000倍以上
haystack = set(haystack)

def find_optimized():
    found = 0
    # 使用集合的交集操作替换原来的循环查找
    found_needles = set(needles) & haystack
    found = len(found_needles)

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

# 使用timeit测量执行时间
t = timeit.timeit("find_optimized()", setup="from __main__ import find_optimized", number=1)
print(f"查找过程一共消耗{t}秒。")

# 调用优化后的查找函数
find_optimized()

zfxsdhr 发表于 2024-4-13 20:14:05

回复

正天圣人 发表于 2024-4-16 09:53:44

不知道

巴巴鲁 发表于 2024-4-17 16:48:32

来学习

烂泥化刚 发表于 2024-4-17 17:21:00

学习

hmzr 发表于 2024-4-20 14:12:32

set
页: 20 21 22 23 24 25 26 27 28 29 [30] 31 32 33 34 35 36 37
查看完整版本: 添加一行代码,提高10000倍以上的执行效率