Python set() 函数
set() 是 Python 中用于创建可变集合(set)的内置函数。
集合是无序且不重复的元素集合,类似于数学中的集合概念。set() 函数可以从其他可迭代对象创建集合,常用于去重、集合运算等场景。
单词释义: set 意为"集合",是 Python 中的无序不重复元素集合。
基本语法与参数
语法格式
set(iterable)
参数说明
- 参数 iterable:
- 类型: 可迭代对象
- 描述: 要转换为集合的可迭代对象。
函数说明
- 返回值: 返回一个可变集合。
- 特殊值: 不带参数返回空集合
set()(注意:{}创建的是空字典)。
实例
示例 1:创建集合
实例
# 从列表创建(自动去重)
lst = [1, 2, 2, 3, 3, 3, 4]
s = set(lst)
print(s) # 输出: {1, 2, 3, 4}
# 从字符串创建
s = set("hello")
print(s) # 输出: {'h', 'e', 'l', 'o'}
# 从元组创建
t = (1, 2, 3, 2, 1)
s = set(t)
print(s) # 输出: {1, 2, 3}
# 从字典创建(只取键)
d = {"a": 1, "b": 2, "c": 3}
s = set(d)
print(s) # 输出: {'a', 'b', 'c'}
# 空集合
s = set()
print(s) # 输出: set()
print(type(s)) # 输出: <class 'set'>
lst = [1, 2, 2, 3, 3, 3, 4]
s = set(lst)
print(s) # 输出: {1, 2, 3, 4}
# 从字符串创建
s = set("hello")
print(s) # 输出: {'h', 'e', 'l', 'o'}
# 从元组创建
t = (1, 2, 3, 2, 1)
s = set(t)
print(s) # 输出: {1, 2, 3}
# 从字典创建(只取键)
d = {"a": 1, "b": 2, "c": 3}
s = set(d)
print(s) # 输出: {'a', 'b', 'c'}
# 空集合
s = set()
print(s) # 输出: set()
print(type(s)) # 输出: <class 'set'>
运行结果预期:
{1, 2, 3, 4}
{'h', 'e', 'l', 'o'}
{1, 2, 3}
{'a', 'b', 'c'}
set()
<class 'set'>
代码解析:
- 集合会自动去除重复元素。
- 集合是无序的,元素顺序可能不同。
- 注意:
{}创建的是空字典,不是空集合。
示例 2:集合运算
实例
# 创建两个集合
A = {1, 2, 3, 4}
B = {3, 4, 5, 6}
# 并集
print(A | B) # 输出: {1, 2, 3, 4, 5, 6}
print(A.union(B)) # 输出: {1, 2, 3, 4, 5, 6}
# 交集
print(A & B) # 输出: {3, 4}
print(A.intersection(B)) # 输出: {3, 4}
# 差集(A - B)
print(A - B) # 输出: {1, 2}
print(A.difference(B)) # 输出: {1, 2}
# 对称差集
print(A ^ B) # 输出: {1, 2, 5, 6}
print(A.symmetric_difference(B)) # 输出: {1, 2, 5, 6}
A = {1, 2, 3, 4}
B = {3, 4, 5, 6}
# 并集
print(A | B) # 输出: {1, 2, 3, 4, 5, 6}
print(A.union(B)) # 输出: {1, 2, 3, 4, 5, 6}
# 交集
print(A & B) # 输出: {3, 4}
print(A.intersection(B)) # 输出: {3, 4}
# 差集(A - B)
print(A - B) # 输出: {1, 2}
print(A.difference(B)) # 输出: {1, 2}
# 对称差集
print(A ^ B) # 输出: {1, 2, 5, 6}
print(A.symmetric_difference(B)) # 输出: {1, 2, 5, 6}
运行结果预期:
{1, 2, 3, 4, 5, 6}
{1, 2, 3, 4, 5, 6}
{3, 4}
{3, 4}
{1, 2}
{1, 2}
{1, 2, 5, 6}
{1, 2, 5, 6}
集合支持丰富的集合运算:并集、交集、差集、对称差集。
Python3 内置函数
点我分享笔记