python中的set集合详解

网友投稿 325 2022-08-28


python中的set集合详解

一、集合简介

集合的表现形式:set集合与列表很相似,区别如下:。 集合中的元素必须为不可变对象。 集合中不能出现重复的元素,即若有重复的元素则不会出现。 集合中的元素是无序的集合的用途:1、可以运用集合去重,方法为将列表加入到集合中,然后进行遍历,最后打印出去重后的结果即可;2、运用集合可以进行关系测试,例如,求差集、并集。

二、集合的一些操作

2.1 set()

set() 函数可以用来创建集合

my_set = set({})print(my_set, type(my_set))#结果为 set()

set() 函数可以将列表和字典转化为集合 注:若通过 set() 将字典转化为集合,转化后的集合只包含字典中的键,不会包含值

set1 = set([1, 2, 3])set2 = set('hello')set3 = set({'姓名': 'zqc', '性别': '女'})print(set1, type(set1))print(set2, type(set2))print(set3, type(set3))#结果为 {1, 2, 3} {'h', 'o', 'l', 'e'} {'性别', '姓名'}

2.2 通过索引取值

因为集合本身是无序的,所以不能直接通过索引取值先将集合转化为列表,转化后的列表可以通过索取值

my_set = set([1, 2, 3])print(list(my_set)[1])#结果为 2

3.2 in、not in

判断指定元素是否在集合中返回布尔类型

3.3 len()

len() 用来获取集合长度,即集合中有几个元素返回一个 int 类型

3.4 add()

add() 用来向集合中添加一个元素

my_set = {11, 22, 33}my_set.add(44)print(my_set)#结果为 {33, 11, 44, 22}

3.5 update()

update() 用来将一个集合中的元素添加到另一个集合中

my_set = {11, 22, 33}your_set = {44}my_set.update(your_set)print(my_set)#结果为 {33, 11, 44, 22}

3.6 pop()

pop() 用来随机删除集合中的一个元素pop() 有返回值

my_set = {11, 22, 33}d = my_set.pop()print(d)print(my_set)#结果为 33{11, 22}

3.7 remove()

remove() 用来删除一个指定的元素

my_set = {11, 22, 33}my_set.remove(22)print(my_set)#结果为 {33, 11}

3.8 clear()

clear() 用来清空集合

my_set = {11, 22, 33}my_set.clear()print(my_set)#结果为 set()

三、集合的运算

3.1 交集 &

返回一个集合所有集合公共的区域

my_set = {1, 2, 3, 4, 5}your_set = {3, 4, 5, 6, 7}print(my_set & your_set)#结果为 {3, 4, 5}

3.2 并集 |

返回一个集合所有集合除去不可重复后的相加

my_set = {1, 2, 3, 4, 5}your_set = {3, 4, 5, 6, 7}print(my_set | your_set)#结果为 {1, 2, 3, 4, 5, 6, 7}

3.3 差集 -

返回的是一个集合集合除去公共的部分

my_set = {1, 2, 3, 4, 5}your_set = {3, 4, 5, 6, 7}print(my_set - your_set)print(your_set - my_set)#结果为{1, 2}{6, 7}

3.4 异或 ^

返回的是一个集合异或为不相交的部分

my_set = {1, 2, 3, 4, 5}your_set = {3, 4, 5, 6, 7}print(my_set ^ your_set)#结果为 {1, 2, 6, 7}

3.5 集合间的关系 ≤、<、≥、>

判断一个集合是否是另一个集合的子集:<=判断一个集合是否是另一个集合的真子集:<判断一个集合是否是另一个集合的超集:>=判断一个集合是否是另一个集合的真超集:>返回布尔类型

去期待陌生,去拥抱惊喜。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Spring中的AOP操作你了解吗
下一篇:python之__del__()魔方方法:销毁对象,内存回收(python del删除对象)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~