python学习——核心语法三

复制代码
#set集合
#特点:不可重复,无序,可修改
#由于集合是无序的,因此是不支持索引访问的

s1 = {"C","D","X","T","O","C"}
复制代码
#定义空集合 不能用{},{}表示的是空字典
s2 = set()
s3 = {}
print(s1)
print(type(s2))
print(type(s3))
复制代码
s4 = {1,2,3,4,5}
s5 = {2,3,4,7,9}
s4.add(6)
print(s4)
s4.remove(4)
print(s4.pop())
复制代码
s4 = {1,2,3,4,5}
#set pop()是按某种顺序进行的,而不是随机的。并且每次执行的结果都一样。
print(s4.union(s5))
print(s4.difference(s5))
print(s4.intersection(s5))  #也可以用 & 符号

french_set = {"张三","许木","王鹏","邓江","胡图","李明","周刚"}

art_set = {"刘梅","王鹏","谢娜","李明","刘强"}
复制代码
#同时选修了法语和艺术的学生名单
fa_art_set = french_set.intersection(art_set)
print(fa_art_set)
print(french_set & art_set)

#选修了法语,没有选修艺术的学生
fr_not_ar = french_set.difference(art_set)   # 差集,也可以用 “-”
fr_art_not_ar2 = french_set - art_set
print(fr_not_ar)
print(fr_art_not_ar2)
复制代码
french_set = {"张三","许木","王鹏","邓江","胡图","李明","周刚"}

art_set = {"刘梅","王鹏","谢娜","李明","刘强"}

math_set = {"张三","乔九","许木","大大","葛优","王鹏"}
#方式三---->集合推导式的方式
fr_art_not_ar3 = {s for s  in french_set if s not in art_set}
print(fr_art_not_ar3)

#3.统计每个学生选修的课程数量
all_set = french_set.union(art_set)  # 并集,也可以用 “|”
all_set2 = french_set | art_set
print(all_set)  #获取到所有学生,去重
print(all_set2)

all_list = [*french_set, *art_set, *math_set]  #利用list列表可以重复的特性,“*”解包
for student in all_set:
    count = all_list.count(student)
    print(f"{student}\t 选修了 {count} 门课程")


#总结:
# set 集合运算符
#交集  intersection &
#差集  difference   -
#并集  union        |
#解包  *
#集合推导式写法 set = {i表达式 for i in 集合}
#集合推导式写法 set = {i表达式 for i in 集合 if 条件}
相关推荐
SL_staff15 分钟前
周报越厚问题越拖?用结构化执行机制让周报回归决策价值
java·spring cloud·开源
阿梦Anmory19 分钟前
规划领域定义语言(PDDL)学习笔记
笔记·学习
张张123y20 分钟前
后端第十一课:RAG 落地实战(从 0 到 1 接上私有知识库,并设计一个好用的 RAG)
开发语言·人工智能·python·机器学习·fastapi·rag
梅梅绵绵冰22 分钟前
JVM虚拟机
java·开发语言·jvm
golang学习记25 分钟前
Python vs Go:2026年到底该怎么选
java·vscode·python·golang·pycharm·goland
绛橘色的日落(。・∀・)ノ27 分钟前
C#学习笔记
笔记·学习·c#
留岁29 分钟前
Git 命令行学习记录
git·学习·elasticsearch
小黄人软件29 分钟前
aipy学习 核心循环
学习
江厌0140 分钟前
移动工作站还是塔式?用三个数判断工位形态,再谈配置
python·移动工作站·塔式工作站·工作站选型·isv认证
川石课堂软件测试1 小时前
涨薪技术|0到1学会性能测试第8课-Analysis分析图
服务器·数据库·python·sql·jmeter·mysql·容器