python基础—— 集合set
文章目录
- 一、创建集合
- 1.1、{} 创建集合
- 1.2、 set() 函数来创建集合
- set() 创建 空集合
- set()来将序列和字典转换为集合
- 二、集合常用函数
- 2.1、in和not in来检查集合中的元素
- 2.2、使用len()来获取集合中元素的数量
- 三、集合的添加元素
- 3.1、add() 向集合中添加元素
- 3.2、update() 将一个集合中的元素添加到当前集合中
- update()使用序列或字典作为参数,字典只会使用键
- 四、集合的删除元素
- 4.1、pop()随机删除,并返回删除的元素
- 4.2、 remove()删除集合中的指定元素
- 4.3、clear()清空集合
- 五、集合的复制元素
- 5.1、copy()对集合进行浅复制
一、创建集合
- 集合和列表非常相似
- 不同点:
1. 集合中只能存储不可变对象
2. 集合中存储的对象是无序(不是按照元素的插入顺序保存)
3. 集合中不能出现重复的元素(重复的元素会自动过滤掉)
1.1、{} 创建集合
s = { 10,3,5,1,2,1,2,3,1,1,1,1} # <class 'set'>
s = { [1,2,3],[4,6,7]}
# TypeError: unhashable type: 'list'
# 集合中只能存储不可变对象, list 是可变序列,无法存储
1.2、 set() 函数来创建集合
set() 创建 空集合
s = set() # 空集合
set()来将序列和字典转换为集合
s = set([1,2,3,4,5,1,1,2,3,4,5]) # 打印 {1, 2, 3, 4, 5}
s = set('hello') # 打印 {'l', 'e', 'h', 'o'}
s = set({ 'a':1,'b':2,'c':3}) # 打印 {'b', 'c', 'a'} 。 使用set()将字典转换为集合时,只会包含字典中的键
二、集合常用函数
s = { 'a' , 'b' , 1 , 2 , 3 , 1}
2.1、in和not in来检查集合中的元素
s = { 'a' , 'b' , 1 , 2 , 3 , 1}
print('c' in s) # 打印 False
2.2、使用len()来获取集合中元素的数量
s = { 'a' , 'b' , 1 , 2 , 3 , 1}
print(s)
print(len(s))
打印结果:
{1, 2, 3, 'a', 'b'}
5
三、集合的添加元素
3.1、add() 向集合中添加元素
s = { 'a' , 'b' , 1 , 2 , 3 , 1}
s.add(10)
s.add(30)
打印结果:
{1, 2, 3, 10, 'a', 'b', 30}
3.2、update() 将一个集合中的元素添加到当前集合中
s = { 'a' , 'b' , 1 , 2 , 3 , 1}
s2 = set({ '888'})
s.update(s2)
打印结果:
{1, 2, 3, '888', 'b', 'a'}
update()使用序列或字典作为参数,字典只会使用键
示例1
向集合中添加 元组类型的数据,
s = { 'a' , 'b' , 1 , 2 , 3 , 1}
s.update((10,20,30,40,50))
打印结果:
{'b', 1, 2, 'a', 3, 40, 10, 50, 20, 30}
示例2
向集合中添加 字典类型的数据:
s = { 'a' , 'b' , 1 , 2 , 3 , 1}
s.update({ 10:'ab',20:'bc',100:'cd',1000:'ef'})
打印结果:
{1, 2, 3, 100, 1000, 10, 'a', 20, 'b'}
说明,字典的 键 被添加到的集合中, 字典的 值 没有被添加去。
四、集合的删除元素
4.1、pop()随机删除,并返回删除的元素
s = { 'a' , 'b' , 1 , 2 , 3 , 1}
print('删除前:',s)
result = s.pop()
print('删除后',s)
print('返回值:',result)
打印结果:(多次运行,发现删除的值并不一样)
删除前: {1, 2, 3, 'b', 'a'}
删除后 {2, 3, 'b', 'a'}
返回值: 1
4.2、 remove()删除集合中的指定元素
s = { 'a' , 'b' , 1 , 2 , 3 , 1}
print('删除前:',s)
s.remove(1)
print('删除后:',s)
打印结果:
删除前: {'a', 1, 2, 3, 'b'}
删除后: {'a', 2, 3, 'b'}
如果删除的元素不存在时,则报
KeyError: 100
4.3、clear()清空集合
s.clear()
五、集合的复制元素
5.1、copy()对集合进行浅复制
s = { 'a' , 'b' , 1 , 2 , 3 , 1}
s1=s.copy()
print('s=',s,' id=',id(s))
print('s1=',s1,' id=',id(s1))
打印结果:
s= {1, 2, 3, 'b', 'a'} id= 20498232
s1= {1, 2, 3, 'a', 'b'} id= 20498352
还没有评论,来说两句吧...