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 条件}
相关推荐
麻瓜生活睁不开眼1 小时前
Android16修改全局桌面视图边框四直角显示为弧边圆角
android·java·深度学习
dear_bi_MyOnly1 小时前
【MyBatis 操作数据库】
java·数据库·学习·mybatis·学习方法
2601_953720822 小时前
【计算机毕业设计】基于Spring Boot的心理健康咨询与评测系统的设计与实现
java·spring boot·后端
一只小菜鸡..2 小时前
南京大学 操作系统 (JYY) 学习笔记:从 UNIX 到 Linux 与庞大的应用生态
笔记·学习·unix
丈剑走天涯3 小时前
JDK 17 正式特性
java·开发语言
圣光SG3 小时前
Java操作题练习(七)
java·开发语言·算法
MartinYeung53 小时前
[论文学习]迈向自主医疗人工智能智能体:MIRA系统深度分析
人工智能·学习
_Jimmy_4 小时前
Agent 溯源精度提升方案
人工智能·python·langchain
@航空母舰5 小时前
SpringBoot通过Map实现天然的策略模式
java·spring boot·后端
熊猫钓鱼>_>5 小时前
ArkTS 装饰器总览:V1 / V2 / 通用装饰器完整学习笔记
笔记·学习·华为·交互·harmonyos·arkts·arkweb