经常会做的一个操作是使用in
来判断元素是否在列表中,这种操作非常便捷,省去了自行遍历的工作,而且因为大多数时候列表数据量比较小,搜索的速度也能满足需求。
key_list = [1, 2, 3, 4, 5, 6, 7, 8]
key = 10
if key in key_list:
print("Hello!")
但是,凡是就怕个但是,当列表数据量非常大的时候,比如你要在一个长度为一百万(1000000
)的列表中搜索某个元素是否存在,这种搜索变得非常低效,很可能需要花费几个小时甚至几天时间来处理你的数据,这种效率是无法接受的。
如何能够快速判断某个元素在一个数据集中?答案是使用集合(set
)。相比于使用列表来存储我们的数据集,我们使用集合来存储数据集只需要多加一个步骤,即将列表集合化(以列表为参数,使用set
函数进行初始化),而判断是否包含仍用in
:
key_list = [1, 2, 3, 4, 5, 6, 7, 8]
key = 10
key_set = set(key_list)
if key in key_list:
print("Hello!")
使用集合来存储数据集并做包含关系的判断,可以大大提升搜索速度!!!
来源
转载自: Python:使用in判断元素是否在列表(list)中,如何提升搜索效率?
原作者: 莫小葉的自留地
标签:set,Python,元素,list,列表,搜索,key From: https://www.cnblogs.com/xiamuguizhi/p/17226259.html