python 数据类型set集合

1、集合的特性

1、集合中的元素是独一无二
2、集合不能用  连接符“+” 连接两个集合
3、集合是可变类型
4、集合是无序的,所以不能切片
5、空集合用set()定义,不能用{},{}定义的是空字典

2、集合之间的逻辑关系

2.1、并集

在这里插入图片描述

2.2、交集

在这里插入图片描述

2.3、差集

在这里插入图片描述

3、集合常用的方法

3.1、add() 向集合中添加元素

x = {1,2,3,4,5}
x.add('a')
print(x)  # {1, 2, 3, 4, 5, 'a'}

3.2、clear() 清空集合

x = {1,2,3,4,5}
x.clear()
print(x)  # set()

3.3、copy() 复制集合

x = {1, 2, 3, 4, 5}
a = x.copy()  
print(a)  # {1, 2, 3, 4, 5}

3.4、discard() 删除集合中指定的元素,该元素不存在不会报错

x = {1, 2, 3, 4, 5}
x.discard(3) 
x.discard(8)  # 被删除的对象不再集合中也不会报错
print(x)

3.5、remove() 删除集合中指定的元素,该元素不存在报错

x = {1, 2, 3, 4, 5}
x.remove(2)
print(x)    #{1, 3, 4, 5}
x.remove(8)  # 删除的元素,集合中不存在,报错KeyError: 8
# Traceback (most recent call last):
#   File "D:/manager_project/ShoppingMall/test_study.py", line 84, in <module>
#     x.remove(8)
# KeyError: 8

3.6、pop() 随机删除集合中一个元素

x = {1, 2, 3, 4, 5}
x.pop()
print(x)  # {2, 3, 4, 5}

3.7、update() 更新集合,把‘参数’添加到集合中

注意:update( **iter ) 参数必须是迭代对象

x = {1, 2, 3, 4, 5}
x.update({'a','b','c'})
x.update(('v','vv'))
print(x)  # {1, 2, 3, 4, 5, 'b', 'v', 'vv', 'c', 'a'}

3.8、union() 并集,返回这个并集

x = {1,2,3,4,5}
y = {1,2,6,7,8}
z = x.union(y)  # 求集合x与集合y的并集,并返回一个新集合
print(z)  #{1, 2, 3, 4, 5, 6, 7, 8}

3.9、intersection() 求交集 ,返回这个交集

x = {1,2,3,4,5}
y = {1,2,6,7,8}
z = x.intersection(y)
print(z)  # {1, 2}

3.10、difference() 求差集,返回调用difference()方法的集合差集

x = {1,2,3,4,5}
y = {1,2,6,7,8}
z = x.difference(y) # 求集合x与集合y的差集,返回集合x中集合y没有的元素
print(z)  # {3, 4, 5}

在这里插入图片描述

3.11、difference_update() 求差集,还会删除交集的部分

x = {1,2,3,4,5}
y = {1,2,6,7,8}
x.difference_update(y)
print(x)  # {3, 4, 5}

3.12、intersection_update() 求交集,还会删除差集的部分

x = {1,2,3,4,5}
y = {1,2,6,7,8}
x.intersection_update(y)
print(x)  # {1, 2}

3.13、symmetric_difference() 求差集,返回所有集合不相同的

x = {1,2,3,4,5}
y = {1,2,6,7,8}
z = set.symmetric_difference(x,y)
print(z)  # {3, 4, 5, 6, 7, 8}

3.14、symmetric_difference() 求差集,把y中x没有的,都添加到x中

x = {1,2,3,4,5}
y = {1,2,6,7,8}
x.symmetric_difference_update(y)
print(x)  # {3, 4, 5, 6, 7, 8}

3.15、isdisjoint() 判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False。

3.16、issubset() 判断指定集合是否为该方法参数集合的子集。

3.17、issuperset() 判断该方法的参数集合是否为指定集合的子集

Python中的数据类型set是一种集合类型,它是基本数据类型之一。set是一个无序的、可变的集合,其中的元素是唯一且不可变的。集合中的元素可以是任意类型,但不能包含重复的元素。set类型没有索引和切片操作。在Python中,set有可变集合和不可变集合两种类型。可变集合可以原地修改,而不可变集合是被"冻结"的,不能进行修改。 创建set类型的方式有多种。可以直接将元素放在花括号{}内,以逗号分隔,即可创建一个集合集合中的元素可以是任意类型,但不能包含可变元素,如列表、集合或字典。例如,创建一个包含数字、字符串和元组的集合: a = {1, 2, 3, 4, 'a'} 也可以使用set()或frozenset()函数创建集合set()函数用于创建可变集合,而frozenset()函数用于创建不可变集合。例如,使用set()函数创建一个集合set('boy') 会返回set(['y', 'b', 'o']) 最后,还可以创建一个空的set集合。 综上所述,Python中的数据类型set是一种无序、可变的集合,其中的元素是唯一且不可变的。可以使用多种方式来创建set集合。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Python(3):六大数据类型——Tuple/Dict/Set](https://blog.csdn.net/qq_40558166/article/details/96495761)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [Python数据类型 - set 集合](https://blog.csdn.net/weixin_34357436/article/details/88772949)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值