概述
集合(set):把不同的元素组成在一起形成一个集合,集合是python的一个基本数据类型。
特点
唯一性 :集合的数据都是唯一的不可能重复;
无序性:集合中的所有元素没有规律可言。
操作
定义
集合(set)可以用 { } 和 set() 来定义一个新集合。注意 :生成一个空集是只能用 set(),因为没有元素的 { } 是用来定义空字典的。
创建格式:
data1 = {element1,element2,······}
# 或者
data = set('element')
增
向集合里,添加一个元素。
语法格式:data1.add(x)
将x添加到集合data1中去,如果集合中有x将不进行任何操作。
例如:
# 例子
web_site = set(("Google", "Runoob", "Taobao"))
web_site.add("Facebook")
print(web_site)
运行结果:{‘Taobao’, ‘Facebook’, ‘Google’, ‘Runoob’}
另一种方法,也可以添加元素,且参数可以使任意类型。
data1.update(x)
x可以有多个,中间用逗号隔开。
例如:
web_site = set(("Google", "Runoob", "Taobao"))
web_site.update(["Facebook","baidu"])
print(web_site)
运行结果:{‘Google’, ‘baid’, ‘Facebook’, ‘Taobao’, ‘Runoob’}
删
移除列表里的元素。
语法格式:s.remove(x)
例如:
web_site = set(("Google", "Runoob", "Taobao"))
web_site.remove('Taobao')
print(web_site)
运行结果:{‘Google’, ‘Runoob’}
如果,要删的元素不在集合中,将会报错。
例如:
web_site = set(("Google", "Runoob", "Taobao"))
web_site.remove('baidu')
print(web_site)
运行结果:
Traceback (most recent call last):
thisset.remove(‘baidu’)
KeyError: ‘baidu’
第二种,删除集合中元素的方法,且元素不存在也不会报错。
s.discard( x )
举例说明:
web_site = set(("Google", "Runoob", "Taobao"))
web_site.discard('baidu')
print(web_site)
运行结果:{‘Google’, ‘Runoob’,‘Taobao’}
第三种,删除方式是 pop( ) ,随机删除一个元素,且返回删除的元素。
例如:
web_site = set(("Google", "Runoob", "Taobao", "Facebook"))
x = web_site.pop()
print(x)
运行结果:Taobao
清空
语法格式:s.clear( )
s.clear()只能清空集合里面的元素。不能删除集合,比如,把盒子里的东西都扔掉,盒子还在。
例子:
web_site = set(("Google", "Runoob", "Taobao", "Facebook"))
x = web_site.clear()
print(x)
运行结果: None</kbd?
计算长度(len)
实例:
web_site = set(("Google", "Runoob", "Taobao"))
len(thisset)
运行结果:3
判断
判断元素 x 是否在集合 s 中,存在返回 True,不存在返回 False。
x in s
x not in s
交集、并集、对称交集、差集
交集
a.intersectin(b)
#或者
a & b
并集
a.union(b)
#或者
a | b
对称差集(反交集)
a.symmetric-difference(b)
#或者
a ^ b
差集
a - b 和 b - a
父集、子集
a.issuperset(b)
或者
a > b
a 是否包含于 b
子集
a.issubset(b)
或者
a < b
b 是否包含于 a