一、概述

集合是python内置的一种数据结构,它是一个无序且元素不重复的序列。这里有两个关键词一个是无序,这一点和字典是一样的,另一个关键词是元素不重复,这一点和字典的key(键)是一样的


二、特点

1 .具有唯一性
2 .不支持索引
3 .与字典相同,也是无序的
创建格式如下:

parame = {value01,value02,value03,value04,....} 或者

set(value)——value的值必须是字符串才行,或者元组

注:创建一个空集合必须用set(),{ }是用来创建一个空字典的。


三、集合之间的运算

举例说明:

a = set('1234554321')
b = set('1234567')
print (a) #集合具有去重的功能,并且具有无序性
print (b)
print(a-b) #集合a中包含而集合b中不包含的元素
print(a | b) #集合a或集合b包含的所有元素
print (a & b) #集合a和集合b都包含的元素
print (a ^ b) #不同时包含集合a和集合b的元素

运算结果:

python set 空定义 python里面的set_python set 空定义


四、集合的基本操作

(1)添加元素

语法格式如下:
a.add(x)
将元素x添加到集合a中,如果元素已存在,则不进行任何操作。 

a.update(x)也可以添加元素,并且参数可以是列表,元组,字典等
x可以是多个,用逗号分开。

(2)移除元素

a.remove(x)
将x从元素中移除,如果元素不存在,则会发生错误。

此外还有一个方法也是移除集合中的元素,且如果元素不存在,不会发生错误,格式如下:
a.discard(x)


我们也建议设置随机删除集合中的一个元素,语法格式如下:

a.pop()

(3)计算集合元素的个数

语法格式如下:

len(a)

(4)清空集合

语法格式如下:

a.clear()

(5)判断元素是否在集合中存在

语法格式如下:

x in a

举例说明:

oneset = set(('1','2','3','4'))
oneset.add('5')  #集合添加元素5
print (oneset)
oneset.update([8,6])  #添加元素8,6
print (oneset)
oneset.remove('4')  # 移除元素4
print (oneset)
oneset.discard('7')  #移除列表不存在的元素7并且不会报错
print (oneset)
oneset.pop()     #随机删除集合中一个元素
print(oneset)
print(len(oneset))     #计算集合元素的个数
oneset.clear()     #清空集合
print (oneset)
a = set('1234554321')
b = set('1234567')
print ('2' in b)
c = {1,2,3,4}
print (3 in c)
d = set('15858')
print (d)
e = set()
print (e) #空集合——set()

输出结果: 

python set 空定义 python里面的set_后端_02

python set 空定义 python里面的set_元组_03

集合支持集合推导式(Set comprehension):

x = {y for y in '12342134213' if y not in '123'}
print (x)

 输出结果:

python set 空定义 python里面的set_python set 空定义_04


 五、集合内置方法

集合内置方法完整如下:
add()——为集合添加元素
clear()——移除集合中的所有元素
copy()——拷贝一个集合
difference()——返回多个集合的差集
difference_update()——移除集合中的元素,该元素在指定的集合也存在
discard()——删除集合中指定的元素
intersection()——返回集合的交集
intersection_update()——返回集合的交
isdisjoint()——判断两个集合是否包含相同的元素,若没有返回true,否则返回false
issubset()——判断指定集合是否为该方法参数集合的子集
issuperset()——判断该方法的集合参数是否为指定集合的子集
pop()——随机移除元素
remove()——移除指定元素
symmetric_difference()——返回两个集合中不重复的元素集合
symmetric_difference_update()——移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中
union()——返回两个集合的病机
update()——给集合添加元素