2021-09-07--积少成多之python集合

每天一小节python知识

积少成多它不香吗???

第十二节

集合格式:{数据1, 数据2, 数据3,…}
特点、a.集合中的数值不重复,去重,
b、集合是无序,不支持下标操作
常用操作
创建集合:使用{}或set(),如果创建空集合只能使用set(),因为{}是用来创建字典
创建空集合 {},是用来创建空字典

s1 = {}
print(type(s1))
# 结果:
<class 'dict'>  # 字典
s2 = set()
print(type(s2))
# 结果:
<class 'set'>
s2 = set("hufs")  #
print(s2)
# 结果:
{'f', 'u', 's', 'h'}

创建有数据的集合,会有去重和无序,也不支持下标操作和切片操作

s3 = {10, 20, 30}
print(s3)
s4 = {12, 34, 56, 12}
print(s4)
# 结果 :
{10, 20, 30}
{56, 34, 12}

如果说数据不能修改,那就存到元组内,如果数据需要去重,并且无序,那么存到集合中,如果数据没有特殊要求,直接存列表

增加
a、add():集合名.add(数据),添加的是数据,序列会报错

y1 = {9, 99, 999, 9}
y1.add(100)
print(y1)
# 结果:
{9, 99, 100, 999}
y1.add([10, 20])  # 结果报错
print(y1)
# 结果:
Traceback (most recent call last):
...

b、update()集合名.update(序列),添加的是序列(字符串,列表,集合,元组 ,字典),添加数据会报错

y1.update([120, 20, "65"])
print(y1)
# 结果
{99, 999, '65', 9, 20, 120}
y1.update(12)
print(y1)
# 结果:
Traceback (most recent call last):
...

删除
a、remove():集合名.remove(数据),删除指定数据,不存在会报错

y2 = {1, 2, 3, 6, 9}
y2.remove(2)
print(y2)
# 结果:
{1, 3, 6, 9}
y2.remove(8)
print(y2)
# 报错:
Traceback (most recent call last):
...

b、discard():集合名.discard(数据),删除指定数据,不存在不会报错

y2.discard(5)
print(y2)
# 结果:
{1, 2, 3, 6, 9}

d、pop():集合名.pop(数据),删除第一个一个数据(又因为集合无序,所以算是无序),并返回该数据,

print(y2)
y3 = y2.pop()
print(y3)
print(y2)
# 结果:
{1, 2, 3, 6, 9}
1
{2, 3, 6, 9}

集合里面有0,0会跑第一个去

y4 = {7, 3, 89, 9, 3, 0}
print(y4)
print(y4.pop())
print(y4)
# 结果:
{0, 3, 7, 9, 89}
0
{3, 7, 9, 89}

常用查找操作->查找判断
in判断某个数字是否在集合序列中
not in判断某个数据是否不在集合序列中

y5 = {89, 67, 35, 0}
print(35 in y5)
print(78 not in y5)
# 结果:
True
True


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部