【Python语法笔记】集合

来源:互联网 发布:张士超钥匙事件 知乎 编辑:程序博客网 时间:2024/05/18 09:43

Python中集合无序且去重

使用大括号定义一个集合

set_1 = {1, 1, 2, 2, 3, 3}print(set_1) # {1, 2, 3}

将一个列表转为集合

list_1 = [1, 2, 3, 1, 2, 3]list_1 = set(list_1)print(list_1) # {1, 2, 3}

获取两个集合的交集

set_1 = {1, 2, 3, 4, 5}set_2 = {3, 4, 5, 6, 7}print(set_1.intersection(set_2)) # {3, 4, 5}print(set_1 & set_2) # {3, 4, 5}

获取两个集合的并集

set_1 = {1, 2, 3, 4, 5}set_2 = {3, 4, 5, 6, 7}print(set_1.union(set_2)) # {1, 2, 3, 4, 5, 6, 7}print(set_1 | set_2) # {1, 2, 3, 4, 5, 6, 7}

获取两个集合的差集

set_1 = {1, 2, 3, 4, 5}set_2 = {3, 4, 5, 6, 7}# set_1与set_2的差集print(set_1.difference(set_2)) # {1, 2}print(set_1 - set_2) # {1, 2}# set_2与set_1的差集print(set_2.difference(set_1)) # {6, 7}print(set_2 - set_1) # {6, 7}

判断一个集合是否是另一个集合的子集

set_1 = {1, 2, 3, 4, 5}set_2 = {2, 3, 4}print(set_2.issubset(set_1)) # True

判断一个集合是否是另一个集合的父集

set_1 = {1, 2, 3, 4, 5}set_2 = {2, 3, 4}print(set_1.issuperset(set_2)) # True

获取两个集合的反向差集

set_1 = {0, 1, 2, 3, 4, 5}set_2 = {2, 3, 4, 6, 7, 8}print(set_1.symmetric_difference(set_2)) # {0, 1, 5, 6, 7, 8}print(set_1 ^ set_2) # {0, 1, 5, 6, 7, 8}

判断两个集合是否存在交集

set_1 = {0, 1, 2, 3, 4, 5}set_2 = {2, 3, 4, 6, 7, 8}set_3 = {10, 11, 12}# 有交集返回False没有交集返回Trueprint(set_1.isdisjoint(set_2)) # Falseprint(set_1.isdisjoint(set_3)) # True

向集合中添加一个元素

set_1 = {1, 2, 3, 4}set_1.add(5)print(set_1) # {1, 2, 3, 4, 5}

向集合中添加一组元素

set_1 = {1, 2, 3, 4}set_1.update({5, 6, 7, 8})print(set_1) # {1, 2, 3, 4, 5, 6, 7, 8}

删除集合中的某个元素

set_1 = {1, 2, 3, 4, 5, 6}set_1.remove(3)print(set_1) # {1, 2, 4, 5, 6}

获取集合的长度

set_1 = {1, 2, 3, 4, 5, 6}print(len(set_1)) # 6

判断集合中是否包含某个元素

set_1 = {1, 2, 3, 4, 5, 6}print(6 in set_1) # True

判断集合中是否不包含某个元素

set_1 = {1, 2, 3, 4, 5, 6}print(6 not in set_1) # False
原创粉丝点击