day7-字典和集合作业
总结
字典 dict {}
查
- 查单个
字典[key] 字典.get(键) 字典.get(键, 默认值)
- 遍历
for 变量 in 字典:循环体
增.改
字典[键] = 值 # - 键不存在就添加,存在就修改
删
del 字典[键] # - 销毁式删除 字典.pop[key] # 被删除的数据还可以拿出来用
字典推导式
{键:值 for 变量 in 序列}
in and not in
相关函数
- len(序列) – 求长度
- dict(序列) – 将其他的数据转换成字典
字典的相关方法
- 字典.clear() – 清空
- 字典.copy() – 复制
- 字典.get(键) – 查询
- 字典.key() – 获取所有的键,返回的是序列
- 字典.value() – 获取所有的值,返回的是序列
- 字典.item() – 将字典转换成元素是元组的序列(一个键值对对应一个元组)
- 字典.setdefault(键,值) – 添加键值对,有就保留,没有就添加
- 字典.update(序列) – 将序列中的元素添加到字典中,序列必须是可以转换成字典的序列
- 字典1.update(字典2) – 将字典2中所有的键值对添加到字典1中
集合 set {} 去重 ,集合的数学运算
- 查 – 只能遍历
for 变量 in 序列:循环体
- 增
集合.add(元素) -- 在集合中添加指定元素 集合.update(序列) -- 将序列中所有的元素全部添加到集合中
- 删
集合.remove(元素) -- 删除指定元素,若需删除的元素不存在,则运行报错 集合.discard(元素) -- 删除指定元素,若需删除的元素不存在,则保持原样,不报错
- 集合的数学运算
- 交集 &
- 并集 |
- 差集 -
- 对称差集 ^
- 真子集 >/<
- 子集 >= / <=
数字类型
- 整型 int
- 浮点型 float
- 布尔值 bool
- 复数 complex
作业
定义一个列表,在列表中保存6个学生的信息(学生信息中包括: 姓名、年龄、成绩(单科)、电话、性别(男、女、不明) )
- 统计不及格学生的个数
message = [{'name': '小李', 'age': 17, 'grade': 80, 'tel': '12348', 'gender': '男'},{'name': '小王', 'age': 19, 'grade': 55, 'tel': '12346', 'gender': '女'},{'name': '小宋', 'age': 20, 'grade': 81, 'tel': '12344', 'gender': '女'},{'name': '小雷', 'age': 21, 'grade': 90, 'tel': '12335', 'gender': '男'},{'name': '小贺', 'age': 20, 'grade': 40, 'tel': '12338', 'gender': '不明'},{'name': '小郭', 'age': 19, 'grade': 79, 'tel': '12341', 'gender': '男'}] count = 0 for r in message:if r['grade'] < 60:count += 1 print('不及格学生的个数:', count)
- 打印不及格学生的名字和对应的成绩
message = [{'name': '小李', 'age': 17, 'grade': 80, 'tel': '12348', 'gender': '男'},{'name': '小王', 'age': 19, 'grade': 55, 'tel': '12346', 'gender': '女'},{'name': '小宋', 'age': 20, 'grade': 81, 'tel': '12344', 'gender': '女'},{'name': '小雷', 'age': 21, 'grade': 90, 'tel': '12335', 'gender': '男'},{'name': '小贺', 'age': 20, 'grade': 40, 'tel': '12338', 'gender': '不明'},{'name': '小郭', 'age': 19, 'grade': 79, 'tel': '12341', 'gender': '男'}] for i in message:if i['grade'] < 60:print('不及格学生的名字:', i['name'], '成绩:', i['grade'])
- 统计未成年学生的个数
message = [{'name': '小李', 'age': 17, 'grade': 80, 'tel': '12348', 'gender': '男'},{'name': '小王', 'age': 19, 'grade': 55, 'tel': '12346', 'gender': '女'},{'name': '小宋', 'age': 20, 'grade': 81, 'tel': '12344', 'gender': '女'},{'name': '小雷', 'age': 21, 'grade': 90, 'tel': '12335', 'gender': '男'},{'name': '小贺', 'age': 20, 'grade': 40, 'tel': '12338', 'gender': '不明'},{'name': '小郭', 'age': 19, 'grade': 79, 'tel': '12341', 'gender': '男'}] count1 = 0 for a in message:if a['age'] < 18:count1 += 1 print('未成年学生的个数:', count1)
- 打印手机尾号是8的学生的名字
message = [{'name': '小李', 'age': 17, 'grade': 80, 'tel': '12348', 'gender': '男'},{'name': '小王', 'age': 19, 'grade': 55, 'tel': '12346', 'gender': '女'},{'name': '小宋', 'age': 20, 'grade': 81, 'tel': '12344', 'gender': '女'},{'name': '小雷', 'age': 21, 'grade': 90, 'tel': '12335', 'gender': '男'},{'name': '小贺', 'age': 20, 'grade': 40, 'tel': '12338', 'gender': '不明'},{'name': '小郭', 'age': 19, 'grade': 79, 'tel': '12341', 'gender': '男'}] for b in message:if int(b['tel']) % 10 == 8:print('手机尾号是8的学生:', b['name'])
- 打印最高分和对应的学生的名字
message = [{'name': '小李', 'age': 17, 'grade': 80, 'tel': '12348', 'gender': '男'},{'name': '小王', 'age': 19, 'grade': 55, 'tel': '12346', 'gender': '女'},{'name': '小宋', 'age': 20, 'grade': 80, 'tel': '12344', 'gender': '女'},{'name': '小雷', 'age': 21, 'grade': 90, 'tel': '12335', 'gender': '男'},{'name': '小贺', 'age': 20, 'grade': 40, 'tel': '12338', 'gender': '不明'},{'name': '小郭', 'age': 19, 'grade': 80, 'tel': '12341', 'gender': '男'}] max_grade = message[0]['grade'] for b in message:if b['grade'] > max_grade:print('最高分学生的名字:', b['name'], '成绩:', b['grade'])
- 删除性别不明的所有学生
message = [{'name': '小李', 'age': 17, 'grade': 80, 'tel': '12348', 'gender': '男'},{'name': '小王', 'age': 19, 'grade': 55, 'tel': '12346', 'gender': '女'},{'name': '小宋', 'age': 20, 'grade': 80, 'tel': '12344', 'gender': '女'},{'name': '小雷', 'age': 21, 'grade': 90, 'tel': '12335', 'gender': '男'},{'name': '小贺', 'age': 20, 'grade': 40, 'tel': '12338', 'gender': '不明'},{'name': '小郭', 'age': 19, 'grade': 80, 'tel': '12341', 'gender': '男'}] for v in message:if v['gender'] == '不明':message.remove(v) print(message)
- 将列表按学生成绩从大到小排序(挣扎一下,不行就放弃)
message = [{'name': '小李', 'age': 17, 'grade': 80, 'tel': '12348', 'gender': '男'},{'name': '小王', 'age': 19, 'grade': 55, 'tel': '12346', 'gender': '女'},{'name': '小宋', 'age': 20, 'grade': 81, 'tel': '12344', 'gender': '女'},{'name': '小雷', 'age': 21, 'grade': 90, 'tel': '12335', 'gender': '男'},{'name': '小贺', 'age': 20, 'grade': 40, 'tel': '12338', 'gender': '不明'},{'name': '小郭', 'age': 19, 'grade': 79, 'tel': '12341', 'gender': '男'}] new_grade = [] message_new = [] for r in message:new_grade.append(r['grade']) new_grade1 = sorted(new_grade, reverse=True) print(new_grade1) for i in new_grade1:for r in message:if i == r['grade']:message_new.append(r) print('学生成绩从大到小排序:', message_new)
用三个集合表示三门学科的选课学生姓名(一个学生可以同时选多门课)
math1_name = {'张三', '王五', '刘玉', '宋金', '孟非', '王佳玉', '雷晓武', '李美英', '刘晓华', '贺德娃', '郭新路'} chinese_name = {'张雪', '王柳', '刘玉', '宋海', '梦晓', '王晓', '雷蕾', '李梅', '刘柳', '雷晓武', '王五', '王佳玉'} english_name = {'刘玉', '宋海', '张三', '孟非', '王佳玉', '莉莉', '赫赫', '果果', '王旺', '李莉', '周舟', '周玉玉'}
- 求选课学生总共有多少人
math1_name = {'张三', '王五', '刘玉', '宋金', '孟非', '王佳玉', '雷晓武', '李美英', '刘晓华', '贺德娃', '郭新路'} chinese_name = {'张雪', '王柳', '刘玉', '宋海', '梦晓', '王晓', '雷蕾', '李梅', '刘柳', '雷晓武', '王五', '王佳玉'} english_name = {'刘玉', '宋海', '张三', '孟非', '王佳玉', '莉莉', '赫赫', '果果', '王旺', '李莉', '周舟', '周玉玉'} new_name1 = math1_name | chinese_name | english_name print(len(new_name1))
- 求只选了第一个学科的人的数量和对应的名字
math1_name = {'张三', '王五', '刘玉', '宋金', '孟非', '王佳玉', '雷晓武', '李美英', '刘晓华', '贺德娃', '郭新路'} chinese_name = {'张雪', '王柳', '刘玉', '宋海', '梦晓', '王晓', '雷蕾', '李梅', '刘柳', '雷晓武', '王五', '王佳玉'} english_name = {'刘玉', '宋海', '张三', '孟非', '王佳玉', '莉莉', '赫赫', '果果', '王旺', '李莉', '周舟', '周玉玉'} new_name2 = math1_name - chinese_name - english_name print(len(new_name2)) print(new_name2)
- 求只选了一门学科的学生的数量和对应的名字
math1_name = {'张三', '王五', '刘玉', '宋金', '孟非', '王佳玉', '雷晓武', '李美英', '刘晓华', '贺德娃', '郭新路'} chinese_name = {'张雪', '王柳', '刘玉', '宋海', '梦晓', '王晓', '雷蕾', '李梅', '刘柳', '雷晓武', '王五', '王佳玉'} english_name = {'刘玉', '宋海', '张三', '孟非', '王佳玉', '莉莉', '赫赫', '果果', '王旺', '李莉', '周舟', '周玉玉'} new_name3 = math1_name ^ chinese_name ^ english_name print(len(new_name3)) print(new_name3)
- 求只选了两门学科的学生的数量和对应的名字
math1_name = {'张三', '王五', '刘玉', '宋金', '孟非', '王佳玉', '雷晓武', '李美英', '刘晓华', '贺德娃', '郭新路'} chinese_name = {'张雪', '王柳', '刘玉', '宋海', '梦晓', '王晓', '雷蕾', '李梅', '刘柳', '雷晓武', '王五', '王佳玉'} english_name = {'刘玉', '宋海', '张三', '孟非', '王佳玉', '莉莉', '赫赫', '果果', '王旺', '李莉', '周舟', '周玉玉'} new_name_1 = math1_name & chinese_name new_name_2 = chinese_name & english_name new_name_3 = math1_name & english_name new_name4 = (new_name_3 ^ new_name_2) | (new_name_3 ^ new_name_1) | (new_name_1 ^ new_name_2) print(len(new_name4)) print(new_name4)
- 求选了三门学生的学生的数量和对应的名字
math1_name = {'张三', '王五', '刘玉', '宋金', '孟非', '王佳玉', '雷晓武', '李美英', '刘晓华', '贺德娃', '郭新路'} chinese_name = {'张雪', '王柳', '刘玉', '宋海', '梦晓', '王晓', '雷蕾', '李梅', '刘柳', '雷晓武', '王五', '王佳玉'} english_name = {'刘玉', '宋海', '张三', '孟非', '王佳玉', '莉莉', '赫赫', '果果', '王旺', '李莉', '周舟', '周玉玉'} new_name5 = math1_name & chinese_name & english_name print(len(new_name5)) print(new_name5)
day7-字典和集合作业相关推荐
- day7字典和集合作业
1.声明一个字典保存一个学生的信息,学生信息中包括: 姓名.年龄.成绩(单科).电话.性别(男.女.不明) info = [('姓名','小小'),('年龄',19),('成绩',100),('电话' ...
- Python Day7字典与集合
一字典的应用 字典数据以键值对形式出现,字典数据和数据顺序无关,即不支持下标,无论数据 顺序如何变化,只需按照对应的键的名字查找数据即可. 二字典的语 ...
- iOS 开发 OC编程 字典和集合 排序方法
// // main.m // oc- 05 字典和集合 // // Created by dllo on 15/10/29. // Copyright (c) 2015年 dllo. All ...
- python内置函数可以返回列表元组_Python内置函数()可以返回列表、元组、字典、集合、字符串以及range对象中元素个数....
Python内置函数()可以返回列表.元组.字典.集合.字符串以及range对象中元素个数. 青岛远洋运输有限公司冷聚吉船长被评为全国十佳海员.()A:错B:对 有源逆变是将直流电逆变成其它频率的交流 ...
- 字典与集合_月隐学python第8课
一.字典 字典属于无序列,元素存放无序,是通过哈希方式进行数据存取的,字典是一个可变容器,字典中保存一个的键值对: key : value.我们通过key来获取对应的值,很类似我们的汉语字典. 字典中 ...
- python元素元组抓7_Python7元组,字典,集合
1. 元组简介 元组基本介绍 元组表现形式tuple 元组是一个不可变序列(一般当我们希望数据不改变时,我们使用元组,其他 情况下基本都用列表) 使用()创建元素 元组不是空元组至少有一个逗号(,) ...
- 菜鸟学IT之python3关于列表,元组,字典,集合浅认识!
作业来源:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2753 一.列表,元组,字典,集合分别如何增删改查及遍历. 列表 # 列表的 ...
- python语言基础(六)列表、元组、字典、集合
列表(list) 列表介绍(掌握) 列表好比是盒子,把班级的学生的名字都放到盒子里. 列表是 Python 中最基本也是最常用的数据结构之一,它是一个 有序可重复的元素集合,是序列.从数据结构角度看, ...
- 字典、集合、控制语句
字典介绍 字典是"键值对"的无序可变序列,字典中的每个元素都是一个"键值对",包含:"键对象"和"值对象".可以通过&q ...
- python基础学习笔记9:元组、字典、集合
元组的定义与使用 1.为什么需要元组 思考 如果想要存储多个数据,但是这些数据是不能修改的数据,怎么做? 答:列表?列表可以一次性存储多个数据,但是列表中的数据允许更改. num_list = [10 ...
最新文章
- statpot:使用mongo+bootstrap+highcharts做统计报表
- 《Drupal实战》——1.9 小结
- FD_CLOEXEC用法及原因_转
- 013_下载静态资源
- 用匈牙利算法求二分图的最大匹配
- Spring MVC之DispatcherServlet请求处理(二)
- Linq distinct去重方法之一
- ASP.NET 2.0 中动态添加 GridView 模板列
- “很多人,到了一定年龄才明白:不要与任何人走的太近”你怎么看?
- 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_05 IO字符流_3_字符输出流_Writer类FileWriter类...
- 如何使用华为官方模拟器eNSP的12800为后续SDN实验做好准备
- Access根据出生日期计算年龄_从身份证号码计算年龄
- 工作篇-错误的代价及反思
- dsp和通用计算机的区别,DSP处理器与通用处理器的比较
- html 播放ogg,HTML5中video 和 ogg
- win怎么更换计算机密码错误,win10系统更改开机密码提示“Windows不能更改密码”的解决方法...
- 如何使用GOOGLE高级搜索技巧
- uni-app App端配置urlSchemes
- 视觉惯性单目SLAM (五)矩阵微积分
- 抖音seo企业号开发在线客服关键系统上线.技术源代码mvc架构搭建