小白入门Python之集合操作
Posted bfhonor
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了小白入门Python之集合操作相关的知识,希望对你有一定的参考价值。
一. 创建集合
- 创建集合使用
{}
或set()
, 但是如果要创建空集合只能使用set()
,因为{}
用来创建空字典。
# 1.创建有数据的集合
s1 = {10, 20, 30, 40, 50}
print(s1) # {50, 20, 40, 10, 30}
s2 = {10, 30, 20, 40, 30, 20}
print(s2) # {40, 10, 20, 30}
s3 = set('abcdefg')
print(s3) # {'a', 'b', 'd', 'e', 'f', 'g', 'c'}
# 2.创建空集合:set()
s4 = set()
print(s4) # set()
print(type(s4)) # <class 'set'>
s5 = {}
print(type(s5)) # <class 'dict'>
特点:
- 集合可以去掉重复数据;
- 集合数据是无序的,故不支持下标
二. 集合常见操作方法
(一)增加数据
- add()
s1 = {10, 20}
# 1.集合是可变类型
s1.add(100)
print(s1) # {100, 10, 20}
# 2.集合有去重功能,如果追加的数据是集合已有数据,则什么事情都不做
s1.add(100)
print(s1)
# s1.add([10, 20, 30]) # 追加数据序列会产生报错,只能追加单一数据
# print(s1)
因为集合有去重功能,所以,当向集合内追加的数据是当前集合已有数据的话,则不进行任何操作。
- update(), 追加的数据是序列。
s1 = {10, 20}
s1.update([10, 20, 30, 40, 50])
print(s1) # {40, 10, 50, 20, 30}
s1.update('abc')
print(s1) # {'c', 'b', 40, 10, 'a', 50, 20, 30}
(二)删除数据
- remove(),删除集合中的指定数据,如果数据不存在则报错。
s1 = {10, 20, 30, 40, 50}
# remove():删除集合中的指定数据,如果数据不存在则报错。
s1.remove(10)
print(s1) # {50, 20, 40, 30}
# s1.remove(10)
# print(s1) # 报错
- discard(),删除集合中的指定数据,如果数据不存在也不会报错。
s1 = {10, 20, 30, 40, 50}
# discard():删除集合中的指定数据,如果数据不存在也不会报错。
s1.discard(10)
print(s1) # {50, 20, 40, 30}
s1.discard(10)
print(s1) # {50, 20, 40, 30}
- pop(),随机删除集合中的某个数据,并返回这个数据。
s1 = {10, 20, 30, 40, 50}
# pop():随机删除集合中的某个数据,并返回这个数据。
del_num = s1.pop()
print(del_num) # 50
print(s1) # {20, 40, 10, 30}
(三) 查找数据
- in:判断数据在集合序列
- not in:判断数据不在集合序列
s1 = {10, 20, 30, 40, 50}
# in 或 not in 判断数据10是否存在
print(10 in s1) # True
print(10 not in s1) # False
以上是关于小白入门Python之集合操作的主要内容,如果未能解决你的问题,请参考以下文章