set与哈希

在python中,set是一种用来实现集合的容器,与dict一样,set也是通过哈希算法存储数据的,因此相比于通过链表存储数据的容器(如list),set对数据的查找要快得多,下面就用代码来验证一下。
import time

MAX = 200000000

def time_span(container):
    t0 = time.time()
    a = MAX-1 in container
    b = -1 in container
    print(a, b)
    print('%s cost %.8f s' % (str(type(container)), time.time()-t0))

time_span(list(range(MAX)))
time_span(set(range(MAX)))

运行结果为

True False
<class 'list'> cost 5.75200653 s
True False
<class 'set'> cost 0.01350522 s
posted @ 2022-03-17 17:06  Bill_H  阅读(131)  评论(0编辑  收藏  举报