python集合
集合定义
集合是无序不重复的数据合集,因此集合中的元素是不支持索引取值的。
集合创建
1. myset = {1, 2, 3, 4}
2. myset = set([1, 2, 3, 4])
集合变化
1. 增加
myset.add(5),是把要传入的元素做为一个整个添加到集合中,传入的参数是可哈希的,如果传入字符串,则引号内作为整体传入。
myset.update([5, 6]),是把要传入的元素拆分,做为个体传入到集合中;不可迭代的类型传入则会报错。
2. 删除
myset.remove(5),有就删除,没有就报错。
myset.clear(),清空集合里面的元素。
myset.pop(),删除某个值返回。
myset.discard(),有就删除,没有也不会报错。
集合操作
set1={1, 2, 3, 4, 5}
set2={4, 5, 6, 7, 8, 9}
交集
set1.intersection(set2) # 两个集合里面都有的值
>>{4, 5}
差集
set1.difference(set2) # 交集部分set1的补集
>>{1, 2, 3}
set.symmetric_difference(set2) # 交集的补集
>>{1, 2, 3, 6, 7, 8, 9}
并集
set1.union(set2) # 把两个集合别合并起来,然后去重
>>{1, 2, 3, 4, 5, 6, 7, 8, 9}
子集
set1.issubset(set2) # 判断set1是否为set2的子集
>>False
父集
set1.issupperset(set2) # set1是否是set2的父集
>>False
有无交集
set1.isdisjiont(set2) # 判断set1和set2是否完全没有任何交集
>>False
从属关系
x in set1
x not in set1
集合浅拷贝
set3 = set1.copy()
深拷贝就是两个独立的内存,彼此互不影响;浅拷贝只拷贝一层,浅拷贝中,如果某个元素是列表,那么整个列表的地址,被变量指向,而列表的本身,又指向列表其中的元素。
浙公网安备 33010602011771号