1. 用三个集合表示三门学科的选课学生姓名(一个学生可以同时选多门课)

    s_history = {'小明', "张三", '李四', "王五", 'Lily', "Bob"}
    s_politic = {'小明', "小花", '小红', "二狗"}
    s_english = {'小明', 'Lily', "Bob", "Davil", "李四"}
    

    a. 求选课学生总共有多少人

    print("选课学生总共有", len(s_english | s_politic | s_history), '人')
    

    b. 求只选了第一个学科的人的数量和对应的名字

    print('只选了第一个学科的人的数量:', len(s_history - s_politic - s_english), '姓名:', s_history - s_politic - s_english)
    

    c. 求只选了一门学科的学生的数量和对应的名字

    s1 = s_history - s_politic - s_english
    s2 = s_english - s_politic - s_history
    s3 = s_politic - s_english - s_history
    print('只选了一门学科的学生的数量:', len(s1 | s2 | s3), '姓名:', s1 | s2 | s3)
    

    d. 求只选了两门学科的学生的数量和对应的名字

    s = s_english & s_history & s_politic
    s1 = s_history & s_politic - s
    s2 = s_english & s_politic - s
    s3 = s_history & s_english - s
    print('只选了两门学科的学生的数量:', len(s1 | s2 | s3), '姓名:', s1 | s2 | s3)
    

    e. 求选了三门学生的学生的数量和对应的名字

    print('选了三门学生的学生的数量:', len(s_english & s_politic & s_history), '姓名:', s_english & s_politic & s_history)
    
  2. 获取列表中出现次数最多的元素

    例如:nums = [1, 2, 3,1,4,2,1,3,7,3,3] —> 打印:3

    nums = [1,2,2,1,3] --> 打印1、2

    nums = [1, 2, 3,1,4,2,1,3,7,3,3]
    max_count =[]
    for i in list(set(nums)):max_count.append(nums.count(i))
    for j in range(len(num_dict_li)):if max_count[j]==max(max_count):print(num_dict_li[j])#详解:nums = [1, 2, 3, 1, 4, 2, 1, 3, 7, 3, 3]# 1)去重获取不重复的元素new_nums = list(set(nums))  # [1,2,3,4,7]# 2)统计每个元素出现的次数count = []for x in new_nums:count.append(nums.count(x))  # [3,2,4,1,1]# 3)获取最大次数max_count = max(count)# 4)获取最大次数对应的元素for index in range(len(count)):if count[index] == max_count:print(new_nums[index])
    
  3. 实现给定一个日期,判断这个日期是今年第几天的程序(尝试

   > 例如:2022/12/31 --> 今年第365天;2022/1/1 --> 今年第1天
# 1)先把年月日依次取出来,后面对数字操作,所以将转换成int
date = '2022/03/16'
year = int(date[0:4])
month = int(date[5:7])
day = int(date[-2:])# 2)
'''
1月:day
2月:31 + day
3月:31 + 28/29 +day
4月:31 + 28、29 + 31 + day
...'''
days = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
if month == 1:total_days = day
else:total_days = sum(days[:month - 1]) + dayif year % 4 == 0 and year % 100 != 0 or year % 400 == 0:total_days += 1
print(total_days)

【练习题】python集合练习相关推荐

  1. python集合运算_Python 集合set()添加删除、交集、并集、集合操作详解

    在Python set是基本数据类型的一种集合类型,它有可变集合(set())和不可变集合(frozenset)两种.创建集合set.集合set添加.集合删除.交集.并集.差集的操作都是非常实用的方法 ...

  2. python集合(set)+常见方法+交叉并补

    python集合(set)+常见方法+交叉并补 集合的定义 定义:由不同元素组成的集合,集合是一组无序排列 可hash值,可作为字典的key. 特性:集合的目的是将不同的值存放在一起,不同的集合间用来 ...

  3. Python集合之set()使用方法详解

    set是一个无序且不重复的元素集合,它有可变集合(set())和不可变集合(frozenset)两种,可以对set()集合进行创建.添加.删除.交集.并集和差集的操作,非常实用,以下是具体用法: 一. ...

  4. excel调用python编程-使用python集合进行EXCEL数据分析

    使用python集合进行EXCEL数据分析 标准库 Python真正精彩的方面之一是它具有非常丰富的模块标准库 ,无需安装第三方模块即可进行一些复杂的编程. 如果您在系统上有效安装了python,则可 ...

  5. python集合的并集、交集_Python 集合set()添加删除、交集、并集、集合操作详解

    1.在Python中set是基本数据类型的一种集合类型,它有可变集合(set())和不可变集合(frozenset)两种.创建集合set.集合set添加.集合删除.交集.并集.差集的操作都是非常实用的 ...

  6. python空集_玩转Python集合,这一篇就够了!

    原标题:玩转Python集合,这一篇就够了! 点上方蓝色" 菜鸟学Python",选" 星标"公众号 重磅干货,第一时间送到 选自DataCamp, 作者:Mi ...

  7. python集合的操作_Python集合操作方法详解

    集合是无序的,天生不重复的数据组合,它的作用如下: 去重,即:把一个列表变成集合,就去重了 关系测试,即:测试两组集合的交集.并集和差集等 一.集合常用方法总结 二.定义 1.语法 >>& ...

  8. python中集合运算_入门 | 一文带你了解Python集合与基本的集合运算

    原标题:入门 | 一文带你了解Python集合与基本的集合运算 选自DataCamp 作者:Michael Galarnyk 参与:Geek Ai.思源 一般我们熟悉 Python 中列表.元组及字典 ...

  9. python set集合_玩转Python集合,这一篇就够了!

    点击 机器学习算法与Python学习 ,选择加星标 精彩内容不迷路 选自DataCamp, 作者:Michael Galarnyk 本文由机器之心编译 了解 Python 集合: 它们是什么,如何创建 ...

  10. python集合输出_Python集合操作方法详解

    集合是无序的,天生不重复的数据组合,它的作用如下: 去重,即:把一个列表变成集合,就去重了 关系测试,即:测试两组集合的交集.并集和差集等 一.集合常用方法总结 二.定义 1.语法 >>& ...

最新文章

  1. python 基础 -- python 模块
  2. 在wsl下运行c语言,在Windows10通过WSL架设linux/gcc c语言学习环境
  3. vim中的jk为什么是上下_JK轮胎的完整形式是什么?
  4. 《C++语言入门经典》一第3章 重要的逻辑工具——判断与循环 3.1 条件判断...
  5. 如何使用Bitwarden在Active Directory上进行密码保护
  6. Python+django网页设计入门(20):使用WebSocket创建多人在线聊天室
  7. vs2005 编码转换后编译的时候会出错,”error c101008a“,处理方法
  8. Nginx 漏洞扫描及修复方案
  9. 计算机毕业设计-网上购书系统【代码讲解+安装调试+文档指导】
  10. 两台虚拟服务器如何串联,两台tp-link路由器串联设置教程 | 192路由网
  11. 【SaaS考试认证】aPaaS_腾讯千帆神笔
  12. BZOJ[1135][POI2009]Lyz 线段树
  13. 挑战微软 + GitHub!谷歌联手 Replit,升级 AI 编程“神器”:曾拒绝微软 10 亿美元的收购...
  14. win11系统512g怎么分盘合理?
  15. 常用的3种高效睡眠法,因人而异
  16. 微软VS硬伤 - 未能起用约束集
  17. 写给初学者:VB 中 ByRef 与 ByVal 参数传递方式的区别
  18. Windows7 tls加密协议设置导致的邮件收发问题 WLM 0x800CCC0B、0x800CCC0F
  19. 第112章 Caché 函数大全 $ZPOSITION 函数
  20. 解决开启VMware虚拟机后宿主机出现插U盘没反应的问题

热门文章

  1. 一个男孩子写的超级情书!!!
  2. CSS - 移动Web网页开发(2)- 必掌握知识点 - #博学谷IT学习技术支持#
  3. nodejs基础学习笔记
  4. com.sec.android.app.keyguard,android - 查找/ system / app的APK名称 - 堆栈内存溢出
  5. 你的网站为什么被黑?
  6. 华为模拟器实现wlan 三层旁挂式组网
  7. 从零开始学前端 - 1. HTML基础知识
  8. 使用Java将Word文档转PDF
  9. 2022年吉林省高职单招(职业倾向性)考试强化训练及答案
  10. python直接进行逐步回归,Python实现逐步回归(stepwise regression)