python中集合的元素可以是任意数据类型_详解Python集合数据类型

时间:2024-10-10 07:59:42

本篇介绍Python集合数据类型。集合不同于列表和元组类型,集合存储的元素是无序且不能重复的,同数学中的集合一样,集合可以执行集合的并、交、差运算。通过本篇的学习,可以达成如下目标。

● 掌握集合数据类型

● 在程序中使用集合数据类型

在数学概念中,集合是由一个或多个确定的元素构成的整体。具体来说是指具有某种特定性质、具体的或抽象的对象汇总成的集体,这些对象称为该集合的元素或成员。例如,在整数集合中,数值…、-1、0、1、2…是整数集合的元素。

在Python语言中,集合存储的元素无序且不能重复,因此可以做字典的键。集合有两种不同的类型,可变集合和不可变集合,可变集合可以添加或删除元素,但可变集合所存储的元素不能被哈希,因此不能用做字典的键;不可变集合不能添加或删除元素,但元素是可哈希的,可以做字典的键。

1、 集合的声明和赋值

集合必须用Python提供的工厂函数来声明,可变集合使用set函数,不可变集合使用frozenset函数。

例1:集合声明和赋值

u=841288681,242653926&fm=173&app=49&f=JPEG?w=640&h=145&s=6E40E0124B625F240EF421DA000080B2例1输出结果如下图所示。

u=1841689663,1314461421&fm=173&app=49&f=JPEG?w=554&h=212&s=A150CC3207785C214C5540DA000080B2

从上面的输出结果可以看出,集合会把传入的字符串拆分为单个字符作为集合的成员,当传入列表时,集合会把列表内的元素作为集合成员。从输出结果还可以看出,集合不允许有重复的元素,例中s1声明时传入了“Java”字符串,但集合成员只有{‘j’,’a’,’v’},重复的a被删除。

2、 集合的访问

集合存储的元素是无序且不重复的,因此不能像列表、元组一样通过索引访问集合存储的元素。对集合元素的访问可以使用成员操作符in或not in来判断某元素是否在集合中。

例2:用成员操作符访问集合元素

u=3578720578,3913223283&fm=173&app=49&f=JPEG?w=640&h=146&s=6EC0F4124B634F2408DD21DA000080B2例2输出结果如下图所示。

u=509087106,1237946721&fm=173&app=49&f=JPEG?w=554&h=212&s=8570CD3005786C21487540DA0000C0B2

可以使用for循环遍历集合的元素,在遍历过程中,元素的显示顺序可能和加入的元素顺序不一致。

例3:遍历集合

u=2358312913,3270389371&fm=173&app=49&f=JPEG?w=640&h=202&s=EEC0F4124B224D2408F405DA000050B2例3输出结果如下图所示。

u=977593132,467878990&fm=173&app=49&f=JPEG?w=554&h=210&s=8170453217386D20587D00DB000080B2

3、 集合的更新

集合内置了add、update、remove方法用于集合元素的添加、更新及移除操作。另外也可以通过操作符“-=”从集合中删除子集合。集合更新操作只适用于通过set创建的可变集合。

add方法用于添加一个集合成员;remove方法用于删除一个集合成员;update用于从已存在的集合中添加一个或多个成员;操作符“-=”用于删除集合中的子集合。

例4:集合更新

u=197730393,3445599854&fm=173&app=49&f=JPEG?w=640&h=246&s=CE40F0124B625D200CE410DA0000C0B2例4输出结果如下图所示。

u=363956102,1579295563&fm=173&app=49&f=JPEG?w=554&h=207&s=C810CC1997304C235C7D01DB000080B3

4、 集合的运算

Python语言的集合类型同数学集合类型一样,也有求集合的并集、交集、差集、对称差集运算。

集合的并集运算是把两个集合合并成一个新的集合,集合合并后重复的成员被删除。在Python语言中,使用符号‘|’或union函数可以执行集合的合并运算。

集合的交集运算是求两个集合的共有成员,两个集合执行交集运算后返回新的集合,该集合中的每个元素同时是两个集合中的成员。在Python语言中,使用符号‘&’或intersection函数可以执行集合的交集运算。

集合的差集运算是求A集合与B集合之间的差值,A集合与B集合执行差集运算后返回新的集合,该集合的元素,只属于集合A,而不属于集合B。在Python语言中,使用符号‘-’或difference函数可以执行集合的差集运算。

集合的对称差集运算是集合的异或运算,A集合与B集合执行对称差集运算后返回新的集合,该集合中的元素只能是属于A集合或B集合的成员,不能同时属于A和B集合。在Python语言中,使用符号‘^’或symmetric_difference函数可以执行集合的对称差集运算。

例5:集合运算

u=2197019217,3875438208&fm=173&app=49&f=JPEG?w=640&h=252&s=4F48E4124B226D264C6C11DA0000C0B2例5输出结果如下图所示。

u=352499414,3681553037&fm=173&app=49&f=JPEG?w=554&h=301&s=ED10C41B1F4A744100F584DA000080B2

5、 集合常用的内置方法

前面已介绍了一些有关集合操作的函数和内置方法。下面对一些常用的内置方法做个小结。

u=4062631387,1772758058&fm=173&app=49&f=JPEG?w=640&h=332&s=BAA8702399D94CCA1E7C94CE0000C0B1表格1 适用于所有集合的内置方法

u=3158969306,517472578&fm=173&app=49&f=JPEG?w=640&h=365&s=3AA8702399DC40C85CDDF0CE000080B1表格 2 适用于可变集合的内置方法

6、 Python用于操作集合的函数

Python提供的set、frozenset、len函数可用于集合的声明、返回集合成员个数。

u=1562350311,970687668&fm=173&app=49&f=JPEG?w=640&h=191&s=FAA8386387A94D030C55D0CF0000E0B1表格 3 Python用于操作集合的函数

课程小结

在Python语言中,集合存储的元素无序且不能重复。集合有两种不同的类型,可变集合和不可变集合,可变集合可以添加或删除元素;不可变集合不能被修改。集合必须用Python提供的工厂函数来声明,可变集合使用set函数,不可变集合使用frozenset函数。

集合不能像列表、元组一样通过索引访问集合存储的元素,对集合元素的访问只能使用成员操作符in或not in来判断某元素是否在集合中。集合内置了add、update、remove方法用于集合元素的添加、更新及移除操作。另外也可以通过操作符“-=”从集合中删除子集合。集合更新操作只适用于通过set创建的可变集合。

Python语言的集合类型同数学集合类型一样,也有求集合的并集、交集、差集、对称差集运算。