在数学概念中,被意为整合元素的定义区域
在python中,set最大的作用是用来去重
set常见操作:
In [158]: s ={1,1,1,1,2,22,33,3,3,3}
In [159]: s...Out[159]: {1,2, 3, 22, 33}
在定义一个集合的时候,只能使用大括号定义最少一个值,不然会被认为字典进行定义
在set中不能加入不可哈希的对象类型
In [161]:hash('a...')
Out[161]:4952964627402403516
查看列表的哈希值,可以发现这个对象不可被哈希
In [162]: a =[1,2,3]
In [163]:hash(a)
--------...,时间复杂度相当于索引遍历列表大O(1)
看似通过值在遍历,实际上是用哈希值进行定位
可哈希的类型
数值型:int、float、complex
布尔类:True、False
字符串: str Bytes...Tuple、None都是不可变类型,称为哈希类型
对比list和set执行效率
查看set执行效率
导入模块timeit
import timeit
In [3]:%%timeit lst1 = set