1. 集合属于Python无序可变序列,用大括号 {} 包裹数据
👉大白话:打印集合时,元素顺序不固定,随时可能打乱;后期可以新增、删除元素
2. 元素之间逗号隔开,元素不能重复,重复内容会自动删掉
3. 集合里面只能放:数字、文字字符串、元组(固定不变的数据)
不能放:列表、字典、集合(能随时修改的数据),放进去直接报错
4. 创建集合两种写法:
① {数据1,数据2} 大括号直接创建
② set() 函数创建
5. ⚠️新手大坑: {} 不是空集合!单独大括号是空字典,想要空集合必须写 set()
6. set()函数规则:
不带参数 set() → 创建空集合
带参数时,参数必须是一串连续数据(字符串、列表、元组),会自动拆分转换成集合
s = {1,2,2,3,3,3,"abc"}
print("集合自动去重结果:",s)
s2 = set([5,6,6,7])
print("set转换列表生成集合:",s2)
k = set()
print("空集合类型:",type(k))
err = {}
print("{} 实际类型:",type(err))
s3 = {(1,2),99}
print("包含元组的集合:",s3)
s4 = set("aabbcc")
print("字符串转为集合:",s4)
1. s = {1,2,2,3,3,3,"abc"}
用大括号创建集合,我们写了很多重复数字,集合自带规则:不允许重复元素,重复内容会直接丢弃。
2. print("集合自动去重结果:",s)
打印集合,能清晰看到重复数字全部消失。同时留意:每次运行,里面数字顺序可能不一样,这就是集合【无序】的特点。
3. s2 = set([5,6,6,7])
使用set()函数,把列表转换成集合。列表允许重复数字,一旦转为集合,重复数据自动清除。
4. print("set转换列表生成集合:",s2)
打印转换完成后的集合。
5. k = set()
标准写法创建空集合,想要空集合只能这么写。
6. print("空集合类型:",type(k))
查看数据类型,输出set,证明这是集合。
7. err = {}
很多新手误以为这是空集合,实际这是空字典,属于高频错误。
8. print("{} 实际类型:",type(err))
打印类型对比,看清 {} 真实身份是dict字典。
9. s3 = {(1,2),99}
元组是固定不变的数据,符合集合存放要求,可以放进集合里面。
如果把元组换成列表 [1,2] ,代码运行直接报错,大家可以自行测试。
10. print("包含元组的集合:",s3)
打印带有元组的集合。
11. s4 = set("aabbcc")
set()接收字符串,会把整串文字拆成一个个单独字符,同时自动剔除重复字符。
12. print("字符串转为集合:",s4)
打印拆分、去重之后的字符集合。
新手必记3条避坑要点
1. 集合无序,不要依靠下标去取值,和列表、元组区分开
2. 自动去重,处理重复数据是集合最常用的功能
3. 可变数据(列表、字典)不能存入集合,只有固定不变的数据才可以存放