python在列表和集合中查找数据的区别(时间复杂度)

  • 列表数据有序,可重复,查找某个元素方式为逐个遍历;
    时间复杂度为列表的长度,即从第一个元素遍历到最后一个元素为止,O(len(list))
  • 集合数据无序,不可重复,查找某个元素方式为哈希。即某个元素通过哈希计算,他的位置永远固定(顺序却不按输入元素顺序,解释了为什么集合无序),查询时通过哈希即可一次找到该元素。
    时间复杂度为O(1)

总结,对于大量数据,集合效率极高

#1、创建空表方式
a=list()
b=set()
#2、查找某个元素
list1=['haha','heihei','neinei']
set1={'haha','heihei','neinei'}
print(list1)
#在列表查找某个元素,逐一遍历
a='neinei' in list1
#在集合查找某个元素,哈希算法,直接找到该元素
b='neinei' in set1
print(a)
print(b)

结果

['haha', 'heihei', 'neinei']
True
True

你可能感兴趣的:(python,python)