集合的简介 | Python从入门到精通:进阶篇之十七

字典的遍历 | Python从入门到精通:进阶篇之十六

集合(set)

集合和列表非常相似,都是在对象中存储数据。但也有不同点。

  1. 集合中只能存储不可变对象
  2. 集合中存储的对象是无序(不是按照元素的插入顺序保存)
  3. 集合中不能出现重复的元素

关于操作方法,在官网文档中查找。

集合的简介 | Python从入门到精通:进阶篇之十七

创建集合 {}

# 使用 {} 来创建集合
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'

print(s,type(s))

执行结果:

集合的简介 | Python从入门到精通:进阶篇之十七
集合的简介 | Python从入门到精通:进阶篇之十七

集合当中只能存储不可变对象。

创建集合 set()

# 使用 set() 函数来创建集合
s = set() # 空集合
# 可以通过set()来将序列和字典转换为集合
s = set([1,2,3,4,5,1,1,2,3,4,5])
s = set('hello')
s = set({'a':1,'b':2,'c':3}) # 使用set()将字典转换为集合时,只会包含字典中的键

print(s,type(s))

执行结果:

集合的简介 | Python从入门到精通:进阶篇之十七
集合的简介 | Python从入门到精通:进阶篇之十七
集合的简介 | Python从入门到精通:进阶篇之十七
集合的简介 | Python从入门到精通:进阶篇之十七

创建集合

# 创建集合
s = {'a' , 'b' , 1 , 2 , 3}

print(s,type(s))
#print(s[0])  集合不可以通过索引去操作
print(list(s)[0]) #如果需要通过索引去操作,则需要先将集合转换成列表

执行结果:

集合的简介 | Python从入门到精通:进阶篇之十七
集合的简介 | Python从入门到精通:进阶篇之十七
集合的简介 | Python从入门到精通:进阶篇之十七

检查集合中的元素 in/not in

# 使用in和not in来检查集合中的元素
# print('a' in s)
print('c' in s)

执行结果:

集合的简介 | Python从入门到精通:进阶篇之十七
集合的简介 | Python从入门到精通:进阶篇之十七

获取集合中元素的数量 len()

# 使用len()来获取集合中元素的数量
print(len(s))

执行结果:

集合的简介 | Python从入门到精通:进阶篇之十七

添加元素 add()

# add() 向集合中添加元素
s.add(10)
s.add(30)

print(s,type(s))

执行结果:

集合的简介 | Python从入门到精通:进阶篇之十七

添加元素 update()

# update() 将一个集合中的元素添加到当前集合中
#   update()可以传递序列或字典作为参数,字典只会使用键
s2 = set('hello')
s.update(s2)
s.update((10,20,30,40,50))
s.update({10:'ab',20:'bc',100:'cd',1000:'ef'})

print(s,type(s))

执行结果:

集合的简介 | Python从入门到精通:进阶篇之十七
集合的简介 | Python从入门到精通:进阶篇之十七
集合的简介 | Python从入门到精通:进阶篇之十七

删除 pop()

# pop()随机删除并返回一个集合中的元素
#s.pop()
result = s.pop()

print(reult)
print(s,type(s))

执行结果:

集合的简介 | Python从入门到精通:进阶篇之十七
集合的简介 | Python从入门到精通:进阶篇之十七

删除元素 remove()

# remove()删除集合中的指定元素
s.remove(100)
s.remove(1000)

print(s,type(s))

执行结果:

集合的简介 | Python从入门到精通:进阶篇之十七

清空集合 clear()

# clear()清空集合
s.clear()

执行结果:

集合的简介 | Python从入门到精通:进阶篇之十七

浅复制 copy()

# copy()对集合进行浅复制

s2 = s.copy()

以上是集合的基本介绍。

配套视频课程,点击这里查看

获取更多资源请订阅Python学习站

上一篇:不可变序列:元组 | Python从入门到精通:进阶篇之十一


下一篇:初识字典 | Python从入门到精通:进阶篇之十三