目录
- python特殊数据类型应用(3)集合类型
- 集合的定义
- 集合的声明
- 集合的运算
- 集合元素的增加:
- 交集intersection:
- 并集union
- 差集difference:
- 对称差集symmetric_difference
- 删除指定元素
- 集合清除
- 获取 Set 的长度
python特殊数据类型应用(3)集合类型
集合的定义
Set 集合,在 Python 中的定义为:
a= {value1,value2,... ... ,valuen}
集合类型和列表、元组类似,可以存储多个数据,但不同的是,集合中的这些数据是不重复的。从形式上看,和字典类似,Python 中集合中元素放在一对大括号 {} 中,相邻元素之间用“,”分隔。需要注意的是,Python 中, set 集合是无序的,所以每次输出时元素的排序顺序可能都不相同。
集合的声明
在Python 中,有 2 种声明 set 集合的方法,第一种就是定义中的方法,使用 {} 进行声明,
直接输入集合中各个元素的列表,方法如下:
myset = {element1,element2,...,elementn}
其中,myset 为集合的名称,
另外一种方法就是利用 set()函数创建集合,方法如下:
setname = set(iteration)
其中,iteration 就表示字符串、列表、元组、range 对象等数据。set() 函数为 Python 的内置函数,其功能是将字符串、列表、元组、range 对象等可迭代对象转换成集合。
例如:
myset = set("www.baidu.com")
print(myset)
运行结果为:
{'o', 'm', 'b', '.', 'i', 'w', 'a', 'c', 'd', 'u'}
从上面的返回接口也可以体会到集合的无序、不重复特性。使用 set() 函数也可以创建空的集合,而直接使用一对 {},Python 解释器会将其视为一个空字典。 方法如下:
MyNullSet = set()
print(MyNullSet , type(MyNullSet ))
返回结果为:
set() <class 'set'>
集合的运算
集合数据类型支持元素的增加、删除、还支持 union(联合), intersection(交), difference(差)和symmetric_difference(对称差集) 等数学运算。
集合元素的增加:
以前文创建的空集合MyNullSet 为例:
MyNullSet.add('12')
print(MyNullSet , type(MyNullSet ))
返回结果为:
{'12'} <class 'set'>
可以看出,元素‘12’已经加入到了MyNullSet中。
交集intersection:
我们建立两个集合a和b,求其交集,方法如下:
a={1,2,3,4}
b={3,4,5,6}
print(a&b)
则输出结果为:
{3, 4}
并集union
a={1,2,3,4}
b={3,4,5,6}
print(a|b)
返回结果为:
{1, 2, 3, 4, 5, 6}
差集difference:
即求出另一个集合中没有的部分,还以上述a和b集合为例
print(a-b,b-a)
返回结果为:
{1, 2} {5, 6}
注意其和交、并运算不同的是,顺序不同结果也是不同的。
对称差集symmetric_difference
即在 a 或 b 中,但不会同时出现在二者中间的原始集合
print(a^b)
返回结果为:
{1, 2, 5, 6}
删除指定元素
在python中,集合元素的删除有三种方法:
(1)pop方法
该方法会随机删除并返回删除的元素
(2)remove方法
指定删除,删除不存在的元素抛出异常
(3)discard方法
指定删除,删除不存在的元素不抛出异常
我们可以根据需要选择使用,举例如下:
a.discard(1)
print(a)
返回结果为:
{2, 3, 4}
集合清除
清空集合中的所以元素,方法为clear()
获取 Set 的长度
使用 len() 方法获取集合中的项目数,方法为:
print(len(b),b)
返回结果为:
4 {3, 4, 5, 6}
常用的集合数据类型的使用基本就这么多了,欢迎朋友们一起交流提高。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)