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 条件}
相关推荐
VIP_CQCRE3 小时前
用 Ace Data Cloud 快速接入 OpenAI Chat Completions:对话、流式、多轮和多模态一篇打通
python·ai·openai·api·教程
心中有国也有家4 小时前
AtomGit Flutter 鸿蒙客户端:呼吸练习的完整生命周期
学习·flutter·华为·harmonyos
Zeeland4 小时前
构建护城河:自学习 Agent
学习
极客先躯4 小时前
高级java每日一道面试题-2026年03月30日-实战篇[Docker]-如何监控容器的网络流量?
java·运维·docker·容器·prometheus·高级面试
老迟到的茉莉4 小时前
Hermes 是谁?跟 Claude Code 差在哪
开发语言·python
tachibana24 小时前
hot100 翻转二叉树(226)
java·数据结构·算法·leetcode
brave_zhao4 小时前
nginx的进程架构
java·学习·nginx
兰令水4 小时前
leecodecode【面试150】【2026.7.9打卡-java版本】
java·数据结构·leetcode·面试·职场和发展
禾高网络4 小时前
互联网医院|AI 互联网医院成品开发系统
java·大数据·人工智能·小程序
枫零NET4 小时前
跟着OpenCode学习Pi Coding Agent-05-Agent的类型系统
人工智能·学习