集合(set)表示一组无序且不重复的元素。集合使用 {} 或 set() 创建。
集合的特点
集合有两个重要特点:
- 无序(unordered):不能使用下标访问某个固定位置。
- 不重复(unique):重复元素会自动合并。
numbers = {1, 9, 2, 0, 0, 9}
print(numbers)输出顺序不保证固定,但集合中只会保留一个 0 和一个 9。
知识测验
题目
集合 set 的核心特点是什么?
集合运算
集合支持常见的数学运算:
- 交集(intersection):
s1 & s2或s1.intersection(s2)。 - 并集(union):
s1 | s2或s1.union(s2)。 - 差集(difference):
s1 - s2或s1.difference(s2)。
s1 = {1, 2, 3}
s2 = {3, 4, 5}
print(s1 & s2) # {3}
print(s1 | s2) # {1, 2, 3, 4, 5}
print(s1 - s2) # {1, 2}互动实验
可操作的韦恩图
访问权限免费
选择集合运算,再点击数字切换它属于 A 还是 B;高亮区域和结果会同时更新。
A & B = {3, 4}列表去重
集合经常用于去重:
lst = [1, 9, 2, 0, 0, 9]
lst = list(set(lst))
print(lst)运行结果可能是:
[0, 1, 2, 9]使用 set() 去重后,元素顺序不一定保持原来的样子。如果你需要保留顺序,后续可以学习更稳定的写法。
知识测验
题目
{1, 2, 3} & {3, 4, 5} 的结果是什么?
动手练习
判断一句话是否覆盖全部字母
读取一个只包含小写字母和空格的句子,判断它是否包含 a 到 z 的全部字母。
- 读取一个句子。
- 用集合收集句子中出现过的字母。
- 如果 26 个字母都出现过,就输出“是”,否则输出“否”。