首页 > 代码库 > python 数据类型 --- 集合

python 数据类型 --- 集合

1. 注意列表和集合的区别 set

列表表现形式: list_1 = [1,3,4];  集合表现形式:set_1= set()

list_1 = [1,2,3,4,23,4,2]
print(list_1,type(list_1))
list_1 = set(list_1)
print(list_1,type(list_1))
list_2 = set([2,4,6,8,10])
print(list_2,type(list_2))

#运行结果
[1, 2, 3, 4, 23, 4, 2] <class list>
{1, 2, 3, 4, 23} <class set>
{8, 2, 10, 4, 6} <class set>

2. 集合的关系:

############################# 集合的关系测试 part ###################################
#交集
print(list_1.intersection(list_2))
#对称差集  除去两个集合的交集的那部分
print(list_1.symmetric_difference(list_2))
#并集
print(list_1.union(list_2))
#差集
# is in list_1 , but not in list_2
print(list_1.difference(list_2))
# is in list_2, but not in list_1
print(list_2.difference(list_1))
#子集
list_3 = set([6,8,10])
print(list_3.issubset(list_2))
#父集
print(list_2.issuperset(list_3))
#""" Return True if two sets have a null intersection. """
print(list_1.isdisjoint(list_3))
print(list_1.isdisjoint(list_2))
‘‘‘

 "&  |  - ^ " 集合关系的另一种表示方法

#交集
print("交集->", list_1 & list_2)
#union
print("并集->", list_1 | list_2)
# difference
print("difference-->",list_1 - list_2)  # is in list_1 but not in list_2
#对称差集
print("对称差集-->", list_1 ^ list_2)

3. 集合的方法 add , update , remove, len, in , not in , pop, discard

list_1 = (1,3,5,7)
list_2 = ([1,3,5,7])
list_3 = set([1,3,5,7])
print(list_1,type(list_1))
print(list_2,type(list_2))
print(list_3,type(list_3))
#1.添加一项 add, 添加多项update
list_3.add(9)
print("test1--",list_3)
list_3.update([11,13])
print("test2--",list_3)
# 2.移走一项
list_3.remove(11)
print("test3--",list_3)
#.3 长度
print("test4--",len(list_3))
# 4.在不在里面
print("test5---", 6 in list_3, 3 in list_3, 11 not in list_3)
# 5.删除任意的set element ,并返回
print(list_3.pop())
list_3.discard() # Remove an element from a set if it is a member.If the element is not a member, do nothing.

list_3.remove() #Remove an element from a set; it must be a member. If the element is not a member, raise a KeyError

 

python 数据类型 --- 集合