python set()函数
1. 简介
在 Python 中,set() 函数是一种用于创建集合的内置函数。集合是一种无序、不重复的数据类型,可以用于去除重复元素或者进行数学运算。
2. 语法
set() 函数的语法格式如下:
set([iterable])
iterable
参数是一个可迭代对象,例如列表、元组或字符串。如果没有提供 iterable
参数,set() 函数将创建一个空集合。
3. 创建集合
可以使用 set() 函数来创建一个集合。
3.1 创建空集合
如果没有提供 iterable
参数,set() 函数将创建一个空集合。
示例代码如下:
s = set()
print(s)
输出如下:
set()
3.2 从可迭代对象创建集合
可以使用列表、元组或字符串等可迭代对象来创建集合。
示例代码如下:
l = [1, 2, 3, 4, 4] # 列表中有重复元素
s1 = set(l)
print(s1)
t = (1, 2, 3, 4, 4) # 元组中有重复元素
s2 = set(t)
print(s2)
s = "hello" # 字符串中有重复元素
s3 = set(s)
print(s3)
输出如下:
{1, 2, 3, 4}
{1, 2, 3, 4}
{'o', 'l', 'h', 'e'}
从输出可以看出,使用 set() 函数创建集合时,重复元素会被去除掉,而且集合中的元素是无序的。
4. 集合的基本操作
通过 set() 函数创建的集合可以执行以下基本操作。
4.1 添加元素
可以使用 add() 方法向集合中添加元素。
示例代码如下:
s = set() # 创建空集合
s.add(1) # 添加元素
s.add(2)
s.add(3)
print(s)
输出如下:
{1, 2, 3}
4.2 删除元素
可以使用 remove() 或 discard() 方法从集合中删除元素。
示例代码如下:
s = {1, 2, 3} # 创建集合
s.remove(2) # 删除元素
print(s)
s.discard(3) # 删除元素
print(s)
输出如下:
{1, 3}
{1}
从输出可以看出,remove() 方法会在元素不存在时抛出 KeyError 异常,而 discard() 方法不会抛出异常。
4.3 清空集合
可以使用 clear() 方法清空集合。
示例代码如下:
s = {1, 2, 3} # 创建集合
s.clear() # 清空集合
print(s)
输出如下:
set()
4.4 判断元素是否存在
可以使用 in 关键字来判断元素是否存在于集合中。
示例代码如下:
s = {1, 2, 3} # 创建集合
print(1 in s)
print(4 in s)
输出如下:
True
False
4.5 获取集合长度
可以使用 len() 函数获取集合中元素的个数。
示例代码如下:
s = {1, 2, 3} # 创建集合
print(len(s))
输出如下:
3
5. 集合运算
集合可以进行数学运算,例如并集、交集、差集等。
5.1 并集
可以使用 | 运算符或 union() 方法来计算两个集合的并集。
示例代码如下:
s1 = {1, 2, 3} # 创建集合1
s2 = {3, 4, 5} # 创建集合2
# 使用 | 运算符计算并集
s3 = s1 | s2
print(s3)
# 使用 union() 方法计算并集
s4 = s1.union(s2)
print(s4)
输出如下:
{1, 2, 3, 4, 5}
{1, 2, 3, 4, 5}
5.2 交集
可以使用 & 运算符或 intersection() 方法来计算两个集合的交集。
示例代码如下:
s1 = {1, 2, 3} # 创建集合1
s2 = {3, 4, 5} # 创建集合2
# 使用 & 运算符计算交集
s3 = s1 & s2
print(s3)
# 使用 intersection() 方法计算交集
s4 = s1.intersection(s2)
print(s4)
输出如下:
{3}
{3}
5.3 差集
可以使用 – 运算符或 difference() 方法来计算两个集合的差集。
示例代码如下:
s1 = {1, 2, 3} # 创建集合1
s2 = {3, 4, 5} # 创建集合2
# 使用 - 运算符计算差集
s3 = s1 - s2
print(s3)
# 使用 difference() 方法计算差集
s4 = s1.difference(s2)
print(s4)
输出如下:
{1, 2}
{1, 2}
5.4 对称差集
可以使用 ^ 运算符或 symmetric_difference() 方法来计算两个集合的对称差集,即两个集合中独有的元素。
示例代码如下:
s1 = {1, 2, 3} # 创建集合1
s2 = {3, 4, 5} # 创建集合2
# 使用 ^ 运算符计算对称差集
s3 = s1 ^ s2
print(s3)
# 使用 symmetric_difference() 方法计算对称差集
s4 = s1.symmetric_difference(s2)
print(s4)
输出如下:
{1, 2, 4, 5}
{1, 2, 4, 5}
6. 集合的迭代
可以使用 for 循环来遍历集合中的元素。
示例代码如下:
s = {1, 2, 3} # 创建集合
for x in s:
print(x)
输出如下:
1
2
3
7. 总结
通过 set() 函数可以创建一个集合,集合是一种无序、不重复的数据类型。可以对集合进行添加元素、删除元素、清空集合、判断元素是否存在、获取集合长度等基本操作,还可以进行并集、交集、差集、对称差集等数学运算。可以使用 for 循环来遍历集合中的元素。
8. 注意事项
- 集合中的元素是无序且不重复的。
- set() 函数可以用于去除重复元素。
- 使用 add() 方法可以向集合中添加元素。
- 使用 remove() 方法可以删除集合中的元素,如果元素不存在会抛出 KeyError 异常。
- 使用 discard() 方法可以删除集合中的元素,如果元素不存在不会抛出异常。
- 使用 clear() 方法可以清空集合。
- 使用 in 关键字可以判断元素是否存在于集合中。
- 使用 len() 函数可以获取集合中元素的个数。
- 使用 | 运算符或 union() 方法可以计算两个集合的并集。
- 使用 & 运算符或 intersection() 方法可以计算两个集合的交集。
- 使用 – 运算符或 difference() 方法可以计算两个集合的差集。
- 使用 ^ 运算符或 symmetric_difference() 方法可以计算两个集合的对称差集。
- 可以使用 for 循环遍历集合中的元素。