集合及其相关操作

(一)集合的创建方式

python中的集合分为可变集合和不可变集合,可变集合由set()函数创建,集合中的元素可以动态地增加或删除;不可变集合frozenset()函数创建,集合中的元素不可以改变。

举例代码如下:

set_one = set([1,2,3]) #往可变集合中传入一个列表
set_two = set((1,2,3))#往可变集合中传入一个元组
set_three = {1,2,3}#使用花括号创建可变集合
print(set_one)
print(set_two)
print(set_three)
frozenset_one = frozenset(['a','b','c','d','e'])#往不可变集合中传入一个列表
frozenset_two = frozenset(('a','b','c','d','e'))#往不可变集合中传入一个元组
print(frozenset_one)
print(frozenset_two)

结果如下:

{1, 2, 3}
{1, 2, 3}
{1, 2, 3}
frozenset({'a', 'b', 'd', 'c', 'e'})
frozenset({'a', 'b', 'd', 'c', 'e'})

(二)集合操作与操作符

python中可变集合支持添加、删除和清空元素这些基本操作。

(1)添加元素

可变集合的add()方法和update()方法都可以实现向集合中添加元素,不同的是,add()方法只能添加一个元素,update()方法可以添加多个元素。

代码举例如下:

set_one = set()
set_one.add('as')
set_one.update('what')
print(set_one)

运行结果如下:

{'w', 'h', 'as', 't', 'a'}

add()方法将'as'作为一个整体添加,update()方法则是将'what'拆分成多个元素添加到集合中。(注:此时元素应具有互异性。

(2)删除元素

1、remove()方法:用于删除可变集合中的指定元素。若指定元素不存在,会出现KeyError错误。

2、discard()方法:也可用于删除可变集合中的指定元素。但若指定元素不存在,不执行任何操作。

3、pop()方法:用于删除可变集合中的随机元素。

(3)清空元素

可以使用clear()方法。

代码举例如下:

set_one = {'red','pink','purple','blue'}
set_one.remove('red')
print(set_one)
set_one.discard('green')
print(set_one)
set_one.pop()
print(set_one)
set_one.clear()
print(set_one)

运行结果如下:

{'pink', 'blue', 'purple'}
{'pink', 'blue', 'purple'}
{'blue', 'purple'}
set()

(4)集合类型的操作符

联合操作符:(|)

联合操作是将两个集合合并成一个新集合。

交集操作符:(&)

交集操作是将两个集合中相同的元素提取成一个新集合。

差补操作符:(-)

差补操作是保留只属于集合A或者只属于集合B的元素作为一个新的集合。

对称差分操作符:(^)

对称差分操作是将只属于集合A与只属于集合B的元素组成一个新的集合。

代码举例如下:

set_one = {'k','p','b'}
set_two = {'a','b','c','d'}
print(set_one|set_two)
print(set_one&set_two)
print(set_one-set_two)
print(set_two-set_one)
print(set_one^set_two)

运行结果如下:

{'b', 'a', 'c', 'p', 'k', 'd'}
{'b'}
{'p', 'k'}
{'c', 'a', 'd'}
{'a', 'c', 'k', 'p', 'd'}

今天的更新就先到这里了,小伙伴们觉得还不错的话,可以多多点赞和支持哦,感谢!

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值