集合(set)是 Python 里一种无序、不重复的元素集合。
列表是有序可重复,元组是有序不可变,集合是无序不重复!
⚠️ 注意:不能用 {},{} 创建出来的是字典!
🖥️代码练习
# 创建空集合s = set()print(s) # 输出:set()print(type(s)) # 输出:<class 'set'>
🖥️代码练习
# 直接用大括号s = {1, 2, 3, 4}# 用 set() 把列表、元组、字符串转成集合s1 = set([1, 2, 2, 3])s2 = set("hello")print(s1)# 自动去重:{1,2,3}print(s2)# 无序:{'h','e','l','o'}
s = {'red', 'blue', 'yellow'}s.add('pink')print(s) # 顺序随机,不固定
删除指定元素,不存在会报错
s.remove('red')删除指定元素,不存在不报错
s.discard('pink')随机删除一个元素,并返回它
s_new = s.pop()print(s_new)
s = {'red', 'blue'}print('red' in s) # Trueprint('green' in s) # False
s = {1, 2, 3, 'hello'}for i in s:print(i)
集合无序,可用 sorted () 排成列表
s = {3,1,4,1,5}print(sorted(s)) # [1,3,4,5]print(sorted(s, reverse=True)) # 倒序
列表 → 集合 → 列表,1行完成去重
lst = [1,2,2,3,3,3]new_lst = list(set(lst))print(new_lst) # [1,2,3]
s = {1,2,3,4}print(len(s)) # 4
不允许增删改
fs = frozenset([1,2,3])s2 所有元素都在 s1 里
s1 = {1,2,3,4}s2 = {1,2}print(s2 < s1) # True
s1 包含 s2 所有元素
print(s1 >= s2) # Trues1 = {1,2}s2 = {3,4}print(s1 | s2) # {1,2,3,4}
s1 = {1,2,3}s2 = {2,3,4}print(s1 & s2) # {2,3}
print(s1 - s2) # {1}print(s1 ^ s2) # {1,4} s[0]| & - ^,不能用 +
输入两行数字(逗号分隔),转成集合后依次输出:
1,2,2,32,3,4
{1,2,3,4}{2,3}{1}