python数据类型之集合(set)和其常用方法
Posted 梁少华
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python数据类型之集合(set)和其常用方法相关的知识,希望对你有一定的参考价值。
集合是一个无序的,不重复的数据组合
作用(集合的重点):
1.去重,把一个列表变成集合就自动去重了
2.关系测试,测试两组数据库之前的交集、差集、并集等关系
s = {1, 1, 2, 2, 3, 4, ‘a‘, ‘a‘, ‘!‘, ‘!‘} print(type(s)) # <class ‘set‘> print(s) # 自动去重 {1, 2, 3, 4, ‘a‘, ‘!‘} # add 增加值,不能加一样的。只能加1个值,加多个值会报错 # pop 随机删除一个值,因为集合是无序的 # remove 写谁删谁 # discard 和remove的区别是没有的话不会报错 # update 和add不同的是可以加多个值 加的时候要加别的集合huo{‘xxx‘},直接加字符串的话会把字符串拆分开加进去 # 关系测试 iphone7 = {‘alex‘, ‘rain‘, ‘jack‘, ‘mark‘} iphone8 = {‘alex‘, ‘jack‘, ‘jucy‘, ‘emma‘} # 交集 print(iphone7.intersection(iphone8)) # {‘jack‘, ‘alex‘} 或 iphone7 & iphone8 # 差集 print(iphone7.difference(iphone8)) # {‘rain‘, ‘mark‘} 或 iphone7 - iphone8 求只买iphone8的就反过来 # 并集 (把这两个列表加起来) print(iphone7.union(iphone8)) # 或 iphone7 | iphone8。谁union谁都行, {‘rain‘, ‘jack‘, ‘jucy‘, ‘mark‘, ‘emma‘, ‘alex‘} # 对称差集,取交集相反(把不相交的取出来,或买了iphone7,或买了iphone8) print(iphone7.symmetric_difference(iphone8)) # {‘rain‘, ‘jucy‘, ‘mark‘, ‘emma‘} # 等于下面步骤 s3 = iphone7 | iphone8 s4 = iphone7 & iphone8 print(s3 - s4) # {‘jucy‘, ‘rain‘, ‘mark‘, ‘emma‘} # 子集和超集 iphone7.add(‘jucy‘) iphone7.add(‘emma‘) print(iphone7) print(iphone7.issuperset(iphone8)) # True 或 >= iphone7>=iphone8 print(iphone8.issubset(iphone7)) # True 或 <= iphone8<=iphone7 # 判断是否不相交 print(iphone7.isdisjoint(iphone8)) # False # 把差集赋值给iphone7 iphone7.update({‘ann‘, ‘li‘}) print(iphone7.difference(iphone8)) # {‘mark‘, ‘rain‘, ‘ann‘, ‘li‘} iphone7.difference_update(iphone8) print(iphone7) # {‘li‘, ‘mark‘, ‘rain‘, ‘ann‘}
以上是关于python数据类型之集合(set)和其常用方法的主要内容,如果未能解决你的问题,请参考以下文章