【Python】数据类型之集合

集合是一个无序、可变、不允许元素重复的容器。

1、定义

v1={11,22,33}

1))无序:集合无法通过索引取值。

2))可变:可以添加和删除集合中的元素。

3))集合不允许元素重复。

例如:

一般什么时候用集合?

想要维护一大堆不重复的数据时,就可以用集合。

注意:定义空集合时,只能使用v=set().不能使用v={}(这样是定义一个空字典)。

扩展:

定义一个空列表:v1=[]或者v1=list()

定义一个空元组:v2=()或者v2=tuple()

定义一个空字典:v3={}或者v3=dict()

2、功能

(1)添加元素

功能:add(xyz).xyz为数据类型。

代码示例:

(2)删除元素

功能:discard(xyz),xyz为数据类型。

代码示例:

(3)交集

功能1:intersection(set),set为集合。该结果为调用该功能的集合与集合set的交集。

功能2:set1 &  set2, set1与set2都是集合。

代码1:

代码2:

(4)并集

功能1:union(set).set为集合。该结果为调用该功能的集合与集合set的并集。

功能2:set1   |  set2.  set1与set2都是集合。

代码1:
 

代码2:

(5)差集

功能1:set1-set2.set1,set2都是集合。该结果为set1有而set2没有的值的集合。

功能2:difference(set).set是集合,该结果为调用该功能的集合有的而set没有的值的集合。

代码1:

代码2:

(6)长度

功能:len(set).set为集合。该结果是集合set中元素的个数。

代码示例:

3、转换

其他类型如果想要转换为集合类型,可以通过set进行转换并且数据有重复会自动剔除只取重复中的一个值。

方法:set(xyz).xyz为数据类型。

提示:str/list/tuple/dict都可以转换为集合。

例如:

#字符串转换为集合。结果为字符串中的每个字符都是集合中的元素

代码示例:

#列表转集合

代码示例:

#元组转集合

代码示例:

4、其它

(1)集合的存储原理

当我们创建一个集合的时候,实际上在Python内部会帮助我们创建一个表----哈希表。

(2)集合中的元素必须是可哈希的

因存储原理,集合中的元素必须是可哈希的值,即:集合内部通过哈希函数把值转换成一个数字。

目前可哈希的数据类型有int   bool     str      tuple    而list     set  是不可哈希的。

注意:集合中的元素必须是可哈希的,且集合中元素的子孙代及后代必须都是可哈希的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值