"""集合set的定义和基本操作方法"""
# 不同元素、无序、不可变类型:字符串、数据、元组
s={1,2,3,4,5,5,5}
# 对比字典: dic={key:value,}
print(s) # 结果:{1, 2, 3, 4, 5} 不同元素,去重特性
# 另一种定义方式
s1=set("hello")
s2=set(["alex","Tom","alex","Jim"])
print(s1) # 结果:{'h', 'o', 'l', 'e'}
print(s2) # 结果:{'Tom', 'Jim', 'alex'}
# s.add()增加没有的元素
# s.clear()清空集合
# s.pop()随机删除元素
# s.remove()删除特定元素,若不存在,会报错
# s.discard()删除特定元素,若不存在,不会报错
# 列表的并集运算
python_l = ["zyj","zth","sjn"] # 学习python的人
linux_l = ["zyj","zth","lch"] # 学习linux的人
python_and_linux_l = []
for i in python_l:
if i in linux_l:
python_and_linux_l.append(i)
print(python_and_linux_l) # 结果:{'zyj', 'zth'}
# 将列表转化为集合
p_s = set(python_l)
l_s = set(linux_l)
# 取集合的交集
print(p_s.intersection(l_s)) # 结果:{'zyj', 'zth'}
print(p_s&l_s) # 结果:{'zyj', 'zth'}
# 取集合的并集
print(p_s.union(l_s)) # 结果:{'sjn', 'lch', 'zth', 'zyj'}
print(p_s|l_s) # 结果:{'sjn', 'lch', 'zth', 'zyj'}
# 取集合的差集
print("差集",p_s-l_s) # 结果:差集 {'sjn'}
# 交叉补集
print("交叉补集",p_s.symmetric_difference(l_s)) # 结果:交叉补集 {'lch', 'sjn'}
print("交叉补集",p_s^l_s) # 结果:交叉补集 {'lch', 'sjn'}
# issubset:判断是否是子集
# issuperset:判断是否是父集
# update:更新多个值 (add只能更新一个值)
# frozenset:变成不可变集合
Python基础—Day3
最新推荐文章于 2024-07-12 16:16:27 发布