Python学习笔记07(RUNOOB)

Python3 集合

集合(set)是一个无序不重复元素的序列。

可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

# 创建集合(两种方式)
a = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h'}
b = set('begh')
print('a=', a)
print('b=', b)

# 集合的运算
print('a-b=', a - b)
# print('a+b=', a + b)
print('a&b=', a & b)
print('a|b=', a | b)

输出结果:

a= {'d', 'a', 'h', 'b', 'e', 'c', 'g', 'f'}

b= {'h', 'b', 'e', 'g'}
a-b= {'a', 'f', 'd', 'c'}
a&b= {'h', 'b', 'e', 'g'}
a|b= {'d', 'a', 'h', 'b', 'e', 'c', 'g', 'f'}

在这里两个地方出现了问题:

1.注意两种创建方式的格式,即集合和字符串。

2.集合的运算中相加会报错TypeError: unsupported operand type(s) for +: 'set' and 'set'。

集合的基本操作

1、添加元素

# 添加元素
# 添加单个元素:s.add(x)
a.add('x')
print('添加单元素后:', a)
# 添加多个元素(列表、元祖、字典):s.update(x)
a.update({'x', 'y', 'z'})
print('添加多个元素后:', a)

输出结果:

添加单元素后: {'d', 'a', 'h', 'b', 'e', 'c', 'g', 'x', 'f'}

添加多个元素后: {'d', 'a', 'h', 'b', 'z', 'e', 'y', 'c', 'g', 'x', 'f'}

2、移除元素

# 移除元素
# s.remove(x):集合 s 中移除元素,如果元素不存在,则会发生错误。
a.remove('c')
print('移除元素后:', a)
# a.remove('j') 报错:KeyError: 'j'

# s.discard(x):移除集合中的元素,且如果元素不存在,不会发生错误。
a.discard('f')
a.discard('j') # 不会报错
print('移除元素后:', a)

# s.pop():设置随机删除集合中的一个元素
print('随机删除前', a)
a.pop()
print('随机删除后', a)

输出结果:

移除元素后: {'x', 'z', 'd', 'e', 'h', 'y', 'a', 'g', 'b', 'f'}

移除元素后: {'x', 'z', 'd', 'e', 'h', 'y', 'a', 'g', 'b'}
随机删除前 {'x', 'z', 'd', 'e', 'h', 'y', 'a', 'g', 'b'}

随机删除后 {'z', 'd', 'e', 'h', 'y', 'a', 'g', 'b'}

3、计算集合元素个数

# 计算集合元素个数
print(len(a))

4、判断元素是否在集合中存在

# 判断元素是否在集合中存在
print('x' in a)  # Ture
print('u' in a)  # False

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值