目录
文章目录
python中的集合
python中的集合
什么是集合?
- 集合是一个无序的不重复元素序列
- 常用来对两个列表进行交并差的处理
- 集合与列表一样,支持所有数据类型
集合与列表的区别
功能 | 列表 | 集合 |
---|---|---|
顺序 | 有序 | 无序 |
内容 | 可重复 | 不可重复 |
功能 | 用于数据的使用 | 用于数据的交集并集差集的获取,可以说是列表的助手 |
索引 | 有索引 | 无索引 |
符号 | [] | {} |
集合的创建
通过set函数来创建集合,不能使用{}
来创建空集合
a_set = set() # 空集合
a_set = set([1, 2, 3]) # 传入列表或元组
b_set = {1, 2, 3} # 给集合传入元素(注意只能传入不可变的元素,列表,字典,字符串不能传入)
c_set = {} # 这种定义方式是错误的,会被认为定义了一个字典
例子:
通过集合给列表去重
列表中有重复元素,将列表传入集合,元素将自动去重:
集合的增删改
集合的add函数
用于给集合添加一个元素
如果集合中已存在该元素,则不会添加
set.add(item) # item是要添加到集合中的元素,无返回值
例子:
集合的update函数
加入一个新的集合(或列表、元素、字符串)
如果新的集合中的元素在原集合中已存在,则无视
set.update(iterable) # iterable是集合/列表/元组/字符串,无返回值
完全可以用update函数来替代add函数使用,add函数每次只能添加一个元素,update函数可以一次添加多个元素。
例子:
集合的remove函数
将集合中的某个元素删除
如果集合中该元素不存在,则报错
set.remove(item) # item是要删除的元素,无返回值
集合的clear函数
清空集合的所有元素
set.clear() # 无需传入参数,无返回值
集合的del函数
删除集合
del set
例子:
关于集合的总结
- 集合无法通过索引获取元素(因为集合没有索引)
- 集合无获取元素的方法(比如列表中的get())
- 集合只是用来处理列表或元组的一种临时类型,他不适合存储与传输