本试验仅用作简单比较元组(Set)和列表(List)的查询效率:
试验方法:相同元素个数及相同查询元素前提下,比较两个数据结构的查询时间
# 计算程序运行时间,粗略比较List和Set的查询效率
import time
# 首先赋值一个空的List,并且取值为1到10000000的整数
l = []
for i in range(1,10000000):
l.append(i)
# 这里将list转为Set元组
s = set(l)
# 开始试验,开始计算时间
time_start = time.time()
# 首先获得查询9999999这个元素在list中使用的时间:0.20301151275634766 s
# if (9999999 in l):
# time_end = time.time()
# print(time_end - time_start)
# 再单独获得查询9999999这个元素在set中所用时间:0.0 s(可忽略不计)
# if (9999999 in s):
# time_end = time.time()
# print(time_end - time_start)
从上面的查询时间比较后可以看出:
1、含有10000000个元素的顺序列表,查询第9999999个元素所用时间约为0.203秒;
2、含有10000000个元素的顺序元组,查询第9999999个元素所用时间约为0.0秒;
简易粗略结论:在同等条件下,元组的查询效率会优于列表。