集合概念:

Python语言中结构数据类型有很多种,常见的就是集合类型,列表类型,元组类型和字典类型

集合是一个无序不重复元素的集合。它的主要功能是自动清除重复的元素。即集合中的元素是唯一的,不重复的。

创建集合时用大括号{}来包含其元素,相邻元素之间用逗号分隔,集合中元素个数没有限制

1.创建set集合的方法

①使用{}创建集合

语法格式:

setname = {element1,element2...elementn}

例1:

sets = {1, 2, 'w', "asd"}

print(sets)

运行结果:


set集合是无序的,所以每一次输出结果的顺序都会不一样

②使用set()函数创建集合

set()函数功能是将字符串,列表,元组,range 等可迭代对象转换成集合

语法格式:

setname = set(iteration)
例2:
set1 = set("hello word!")
set2 = set([1, 2, 3, 4, 5])
set3 = set((1, 2, 3, 4, 5))
print("set1:", set1)
print("set2:", set2)
print("set3:", set3)

运行结果:


2.访问set集合元素

由于集合内元素是无序的,所以不能用下标去访问,所以采用的方法是使用循环结构逐个将集合中的元素读取出来

例1:

a = {1, 'c', (1, 2)}
for element in a:
print(element, end=' ')

运行结果:


3.添加元素到set集合

使用 set 类型提供的 add() 方法实现向集合中添加元素的操作

语法格式:

setname.add(element)
例1:
x = {1, 2, 3, 4, 5}
x.add("hello")
print(x)
运行结果:

例2:
x = {1, 2, 3, 4, 5}
x.add([1, 2])
print(x)

运行结果:


注意:使用 add() 方法添加的元素,只能是数字、字符串、元组或者布尔类型(True 和 False)值,不能添加列表、字典、集合这类可变的数据,否则 Python 解释器会报 TypeError 错误

4.从set集合中删除元素

删除现有 set 集合中的指定元素,可以使用 remove() 方法或者discard()方法

语法结构:

setname.remove(element)
setname.discard(element)
例1(删除集合中存在的元素):
x = {1, 2, 3, 4, 5}
x.remove(1)
print(x)
运行结果:

例2(删除集合中不存在的元素):

x = {1, 2, 3, 4, 5}

x.remove(6)

print(x)

运行结果:


discard()方法和remove()方法唯一的区别就在于,discard()如果删除了一个不存在的集合中的元素,是不会报错的

5.set集合作交集,并集,差集

如下有两个集合,set1和set2

set1 = {1,2,3,4,5}

set2 = {4,5,6,7}

两个集合中既有相同的元素,又有不同的元素


①两个集合作交集(&)

就是取两个集合公共的元素

例1
:
set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7}
print(set1&set2)
运行结果:

②两个集合作并集(|)
取两个集合全部的元素
例2:
set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7}
print(set1|set2)
运行结果:

③两个集合作差集(-)
取一个集合中另一集合没有的元素
例3:
set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7}
print(set1-set2)
运行结果:

④两个集合作对称差集(^)
取集合 A 和 B 中不属于 A&B 的元素
例4:
set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7}
print(set1^set2)
运行结果:

6.set集合的常用方法

方法名称

功能

add()

向集合中添加元素 (数字、字符串、元组或者布尔类型)

clear()

清空集合中所有的元素

copy()

拷贝一个集合给另一个集合

discard()

删除集合中的元素

remove()

删除集合中的元素

pop()

取集合中的一个元素

union()

取两个集合的并集

intersection()

取两个集合的交集

update()

添加列表或者集合中的元素到指定集合中