Python【集合set】

Python【集合set】


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

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

1.集合的基本功能

fruit = {'Apple','Banana','Apple'}
# 集合的去重
print(fruit)
# 判断元素是否在集合内
print('Apple' in fruit)

输出:

{'Apple', 'Banana'}
True

2.集合的运算

x = set([1,2,3])
y = set([2,3,4])
# 集合x减去集合y
print(x - y)
# 集合x、y或运算
print(x | y)
# 集合x、y与运算
print(x & y)
# x、y与运算关于或运算的补集(不同时在x和y当中)
print(x ^ y)

输出:

{1}
{1, 2, 3, 4}
{2, 3}
{1, 4}

3.添加元素

x = set((1,2,3))
print(x)
# x.add(a)将元素a添加到集合x中
x.add(4)
print(x)

输出:

{1, 2, 3}
{1, 2, 3, 4}

除此之外还有一个方法可以添加元素,参数可以是列表、元组、字典:

x = set((1,2,3))
print(x)
# x.update(a)将元素a添加到集合x中
x.update([4,5])
print(x)
x.update((7,8))
print(x)
x.update({10,11})
print(x)

输出:

{1, 2, 3}
{1, 2, 3, 4, 5}
{1, 2, 3, 4, 5, 7, 8}
{1, 2, 3, 4, 5, 7, 8, 10, 11}

4.移除元素

4.1 remove()

remove()将元素 x 从集合 s 中移除,如果元素不存在,则会发生错误。

x = set((1,2,3))
x.remove(1)
print(x)
x.remove(1)

输出:

{2, 3}
Traceback (most recent call last):
  File "D:\IDE\PyCharm\Project\Study\demo01.py", line 4, in <module>
    x.remove(1)
KeyError: 1
4.2 discard()

此外还有一个方法也是移除集合中的元素,且如果元素不存在,不会发生错误。格式如下所示:

x = set((1,2,3))
x.discard(1)
print(x)
x.discard(1)
print(x)

输出:

{2, 3}
{2, 3}
4.3 pop()

pop()可以设置随机删除集合中的一个元素

x = set((1,2,3))
x.pop()
print(x)
x.pop()
print(x)

输出:

{2, 3}
{3}

5.集合中元素的个数

x = set((1,2,3))
print(len(x))
x.add(4)
print(len(x))
x.discard(1)
x.discard(2)
print(len(x))

输出:

3
4
2

6.清空集合

x = set((1,2,3))
print(x)
print(len(x))

# clear()可以清空集合
x.clear()
print(x)
print(len(x))

输出:

{1, 2, 3}
3
set()
0

7.拷贝集合

x = set((1,2,3))
y = x.copy()
y.discard(1)
print(x)
print(y)

输出:

{1, 2, 3}
{2, 3}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Alan_Lowe

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值