数据类型---集合

 

集合是一个无序的,不重复的数据组合,它的主要作用如下:

  • 去重,把一个列表变成集合,就自动去重了
  • 关系测试,测试两组数据之前的交集、差集、并集等关系

创建集合

创建一个全是数字的集合

s = set([1,3,5,7,9])
print(s)
View Code

创建一个字符集合

t = set("hello")
print(t)
View Code

创建一个混合集合

c = ([2,4,6,8,0,"hello"])
print(c)
View Code

集合关系运算

交集运算

list_1 = set([1,3,5,7,9,10])
list_2 = set([2,4,6,8,0,10])
#方法1:
print(list_1.intersection(list_2))
#方法2:
print(list_1 & list_2)
View Code

 

并集运算

list_1 = set([1,3,5,7,9,10])
list_2 = set([2,4,6,8,0,10])
#方法1:
print(list_1.union(list_2))
#方法2:
print(list_1 | list_2)
View Code

 

差集运算

list_1 = set([1,3,5,7,9,10,2])
list_2 = set([2,4,6,8,0,10])
#方法1:
print(list_1.difference(list_2))
#方法2:
print(list_1 - list_2)
View Code

 

对称差集运算

list_1 = set([1,3,5,7,9,10,2])
list_2 = set([2,4,6,8,0,10])
#方法1:
print(list_1.symmetric_difference(list_2))
#方法2:
print(list_1 ^ list_2)
View Code

 

子集运算

list_1 = set([1,3,5,7,9,10,2])
list_2 = set([2,4,6,8,0,10])
list_3 = set([1,3,5])
#list_3是不是list_1的子集
print(list_3.issubset(list_1))
#list_3是不是list_2的子集
print(list_3.issubset(list_2))
View Code

 

无交集运算

list_1 = set([1,3,5,7,9,10,2])
list_2 = set([2,4,6,8,0,10])
list_3 = set([1,3,5])
#list_3是不是与list_1无交集
print(list_3.isdisjoint(list_1))
#list_3是不是与list_2无交集
print(list_3.isdisjoint(list_2))
View Code

其他操作

添加一个元素

t = set("Hello")
print(t)
t.add('x')
print(t)
View Code

添加多个元素

s = set([1,3,5,7,9])
print(s)
s.update([10,30,50])
print(s)
View Code

删除一个元素

t = set("hello")
print(t)
t.remove('h')
print(t)
View Code

打印集合长度

s = set([1,3,5,7,9])
print(s)
print(len(s))
s.update([10,30,50])
print(s)
print(len(s))
View Code

判断元素是否在集合里

t = set("hello")
print(t)
print('h' in t)
print('x' in t)
print('h' not in t)
print('x' not in t)
View Code

浅copy

s = set([1,3,5,7,9])
print(s)
c = s.copy()#浅copy
print(c)
View Code

 

posted @ 2019-09-30 14:57  goldtree358  阅读(158)  评论(0)    收藏  举报