【python】字典、列表、集合综合练习

1、练习1(字典)

字典dic,dic = {‘k1’:‘v1’, ‘k2’: ‘v2’, ‘k3’: [11,22,33]}

(1). 请循环输出所有的key

dic = {"k1": "v1", "k2": "v2", "k3": [11, 22, 33]}
for k in dic.keys():
    print(k)
k1
k2
k3

(2). 请循环输出所有的value

for v in dic.values():
    print(v)
v1
v2
[11, 22, 33]

(3). 请循环输出所有的key和value

for k, v in dic.items():
    print(k, v)
k1 v1
k2 v2
k3 [11, 22, 33]

(4). 请在字典中添加一个键值对,“k4”: “v4”,输出添加后的字典

dic["k4"] = "v4"
print(dic)
{'k1': 'v1', 'k2': 'v2', 'k3': [11, 22, 33], 'k4': 'v4'}

(5). 请在修改字典中 “k1” 对应的值为 “kidd”,输出修改后的字典

dic["k1"] = "kidd"
print(dic)
{'k1': 'kidd', 'k2': 'v2', 'k3': [11, 22, 33], 'k4': 'v4'}

(6). 请在k3对应的值中追加一个元素 44,输出修改后的字典

dic["k3"].append(44)
print(dic)
{'k1': 'kidd', 'k2': 'v2', 'k3': [11, 22, 33, 44], 'k4': 'v4'}

(7). 请在k3对应的值的第 1 个位置插入个元素 18,输出修改后的字典

dic["k3"].insert(1, 18)
print(dic)
{'k1': 'kidd', 'k2': 'v2', 'k3': [11, 18, 22, 33, 44], 'k4': 'v4'}

2、练习2(列表字典)

有如下值li= [11,22,33,44,55,66,77,88,99,90],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中。
即: {‘k1’: 大于66的所有值列表, ‘k2’: 小于66的所有值列表}

li = [11, 22, 33, 44, 55, 66, 77, 88, 99, 90]
v1 = [i for i in li if i > 66]
v2 = [j for j in li if j < 66]
res_dic = {"k1":v1,"k2":v2}
print(res_dic)
{'k1': [77, 88, 99, 90], 'k2': [11, 22, 33, 44, 55]}

3、练习3(字典)

  1. 创建一个字典,包含你最喜欢的三种水果和它们的价格。
  2. 打印字典中所有键值对。
dic_fruits = {"apple": 2, "banana": 4, "orange": 5}
for k, v in dic_fruits.items():
    print(k, v)
apple 2
banana 4
orange 5
  1. 添加一种新的水果和它的价格。
dic_fruits["mango"] = 7
print(dic_fruits)
{'apple': 2, 'banana': 4, 'orange': 5, 'mango': 7}
  1. 修改一种水果的价格。
dic_fruits["apple"] = 3
print(dic_fruits)
{'apple': 3, 'banana': 4, 'orange': 5, 'mango': 7}
  1. 删除一种水果及其价格。
del dic_fruits['banana']
print(dic_fruits)
{'apple': 3, 'orange': 5, 'mango': 7}

4、练习4(字典)

  1. 创建一个字典,包含你的朋友的姓名和他们的年龄。
  2. 使用循环打印出每个朋友的姓名和年龄。
frinds_dic = {"zl": 23, "zff": 24, "jwj": 22}
for k, v in frinds_dic.items():
    print(f"姓名:{k}, 年龄:{v}")
姓名:zl, 年龄:23
姓名:zff, 年龄:24
姓名:jwj, 年龄:22
  1. 将朋友的年龄加上 1,并更新字典中对应的值。
frinds_dic = {"zl": 23, "zff": 24, "jwj": 22}
for name,age in frinds_dic.items():
    age = age + 1
    frinds_dic[name] = age
print(frinds_dic)
{'zl': 24, 'zff': 25, 'jwj': 23}

5、练习5(列表字典)

# 声明一个字典保存一个学生的信息,学生信息中包括: 姓名、年龄、成绩(单科)、手机号、性别(男、女、不明)
student = {"name": "张三", "age": "23", "score": 88, "tel": "23423532", "gender": "男"}
# 声明一个列表,在列表中保存6个学生的信息(6个题1中的字典)
students = [
    {"name": "张三", "age": 23, "score": 88, "tel": "23423532", "gender": "男"},
    {"name": "李四", "age": 26, "score": 80, "tel": "12533453", "gender": "女"},
    {"name": "王五", "age": 15, "score": 58, "tel": "56453453", "gender": "男"},
    {"name": "赵六", "age": 16, "score": 57, "tel": "86786785", "gender": "不明"},
    {"name": "小明", "age": 18, "score": 98, "tel": "23434656", "gender": "女"},
    {"name": "小红", "age": 23, "score": 72, "tel": "67867868", "gender": "女"},
]

1.统计不及格学生的个数
2.打印不及格学生的名字和对应的成绩

students = [
    {"name": "张三", "age": 23, "score": 88, "tel": "23423532", "gender": "男"},
    {"name": "李四", "age": 26, "score": 80, "tel": "12533453", "gender": "女"},
    {"name": "王五", "age": 15, "score": 58, "tel": "56453453", "gender": "男"},
    {"name": "赵六", "age": 16, "score": 57, "tel": "86786785", "gender": "不明"},
    {"name": "小明", "age": 18, "score": 98, "tel": "23434656", "gender": "女"},
    {"name": "小红", "age": 23, "score": 72, "tel": "67867868", "gender": "女"},
]
num = 0
for i in students:
    if i["score"] < 60:
        num += 1
        print(i["name"],i["score"])
print(num)
王五 58
赵六 57
2

3.统计未成年学生的个数

teen_student = 0
for i in students:
    if i["age"] < 18:
        teen_student += 1
print(teen_student)
        
2

4.打印手机尾号是8的学生的名字

for i in students:
    if i["tel"][-1] == "8":
        print(i["name"])
小红

5.打印最高分和对应的学生的名字

max_score = 0
for i in students:
    if i["score"] > max_score:
        max_score = i["score"]
        max_student = i["name"]
print(max_score,max_student)
98 小明

6.将列表按学生成绩从大到小排序

scores =[i["score"] for i in students]
print(sorted(scores,reverse=True))
[98, 88, 80, 72, 58, 57]

7.删除性别不明的所有学生

for i in students:
    if i["gender"]=="不明":
        students.remove(i)
print(students)
[{'name': '张三', 'age': 23, 'score': 88, 'tel': '23423532', 'gender': '男'}, {'name': '李四', 'age': 26, 'score': 80, 'tel': '12533453', 'gender': '女'}, {'name': '王五', 'age': 15, 'score': 58, 'tel': '56453453', 'gender': '男'}, {'name': '小明', 'age': 18, 'score': 98, 'tel': '23434656', 'gender': '女'}, {'name': '小红', 'age': 23, 'score': 72, 'tel': '67867868', 'gender': '女'}]

6、练习6(列表)

#用三个列表表示三门学科的选课学生姓名(一个学生可以同时选多门课)
chinese = ['小明','小张','小黄','小杨']
math = ['小黄','小李','小王','小杨','小周']
english = ['小杨','小张','小吴','小冯','小周']

# 1、求选课学生总共有多少人
chinese = ["小明", "小张", "小黄", "小杨"]
math = ["小黄", "小李", "小王", "小杨", "小周"]
english = ["小杨", "小张", "小吴", "小冯", "小周"]
students = []
for i in chinese + math + english:
    if i not in students:
        students.append(i)
print(students)
print(len(students))
['小明', '小张', '小黄', '小杨', '小李', '小王', '小周', '小吴', '小冯']
9
#2、求只选了第一个学科的人的数量和对应的名字	
num = 0
for i in chinese:
    if i not in math + english:
        print(i)
        num += 1
print(num)
小明
1
# 3、求只选了一门学科的学生的数量和对应的名字
set1 = set(chinese)
set2 = set(math)
set3 = set(english)
num1 = 0
for i in students:
    if i not in (set1 & set2) | (set1 & set3) | (set2 & set3):
        num1 += 1
        print(i)
print(num1)
小明
小李
小王
小吴
小冯
5
# 4、求只选了两门学科的学生的数量和对应的名字(选做)
num4 = 0
for i in students:
    if i in ((set1 & set2) | (set1 & set3) | (set2 & set3)) - (set1 & set2 & set3):
        num4 += 1
        print(i)
print(num4)
小张
小黄
小周
3
#5、求选了三门学生的学生的数量和对应的名字(选做)
num5 = 0
for i in students:
    if i in set1 & set2 & set3:
        num5 += 1
        print(i)
print(num5)
小杨
1

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/783477.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

众所周知沃尔玛1P是怎么运营?

​​沃尔玛的1P模式&#xff0c;即第一方供应商模式&#xff0c;是其独特的采购策略。在这种模式下&#xff0c;供应商先将商品卖给沃尔玛&#xff0c;由沃尔玛负责库存管理和销售。沃尔玛通过强大的采购和物流能力控制库存&#xff0c;确保商品品质&#xff0c;为客户提供更加…

【操作系统】进程管理——调度算法(个人笔记)

学习日期&#xff1a;2024.7.4 内容摘要&#xff1a;各种调度算法的思想、规则、优缺点介绍 为什么要有调度算法&#xff1f; 调度算法就好比一群人在银行办理业务&#xff0c;准备办理业务的人就是进程/作业&#xff0c;银行窗口的工作人员就是CPU&#xff0c;进程往往是比C…

旅游计划定制小程序网页模板源码

手机在线旅游定制服务&#xff0c;定制旅游出行app小程序模板。包含&#xff1a;定制介绍、定制表单填写、我的订单等。 旅游计划定制小程序网页模板源码

力扣爆刷第161天之TOP100五连刷71-75(搜索二叉树、二维矩阵、路径总和)

力扣爆刷第161天之TOP100五连刷71-75&#xff08;搜索二叉树、二维矩阵、路径总和&#xff09; 文章目录 力扣爆刷第161天之TOP100五连刷71-75&#xff08;搜索二叉树、二维矩阵、路径总和&#xff09;一、98. 验证二叉搜索树二、394. 字符串解码三、34. 在排序数组中查找元素的…

idea Git操作

1、代码拉取&#xff08;左上角&#xff09; 或 2、代码push&#xff08;左上角&#xff09; 3、切换分支&#xff08;右下角&#xff09; 4、分支管理 5、当前分支和某一个分支对比差异 6、当前分支某一个提交需要恢复成提交前状态&#xff08;revert&#xff09; 7、其他分…

信息技术课上的纪律秘诀:营造有序学习环境

信息技术课是学生们探索数字世界的乐园&#xff0c;但同时也是课堂纪律管理的挑战场。电脑、网络、游戏等元素可能分散学生的注意力&#xff0c;影响学习效果。本文将分享一些有效的策略&#xff0c;帮助教师在信息技术课上维持课堂纪律&#xff0c;确保教学活动顺利进行。 制…

简过网:快来看看你的专业能考哪个类型的事业单位?

你的专业能考哪个类型的事业单位&#xff0c;你知道吗&#xff1f;想考事业单位的姐妹&#xff0c;一定要在备考之前&#xff0c;查清楚你的专业适不适合考事业单位、考哪类事业编以及能报考哪些岗位&#xff1f;这个才能上岸的几率更高一些&#xff01; 事业单位有5类岗位&am…

安全防御(防火墙)

第二天&#xff1a; 1.恶意程序---一般会具有一下多个或则全部特点 1.非法性&#xff1a;你未经授权它自动运行或者自动下载的&#xff0c;这都属于非法的。那恶意程序一般它会具有这种特点&#xff0c; 2.隐蔽性&#xff1a;一般隐藏的会比较深&#xff0c;目的就是为了防止…

学生护眼台灯哪个牌子实用?值得入手的学生护眼台灯十大排名分析

在这个数码时代&#xff0c;人们对屏幕的依赖程度越来越高&#xff0c;尤其是孩子们。他们不仅在学校里需要长时间盯着教科书&#xff0c;还会在学习和娱乐中使用各种数码设备。然而&#xff0c;这也使得眼睛健康问题逐渐凸显&#xff0c;尤其是儿童近视的问题。为了保护视力&a…

重庆交通大学数学与统计学院携手泰迪智能科技共建的“智能工作室”

2024年7月4日&#xff0c;重庆交通大学数学与统计学院与广东泰迪智能科技股份有限公司携手共建的“智能工作室”授牌仪式在南岸校区阳光会议室举行。此举标志着数统学院与广东泰迪公司校企合作新篇章的开启&#xff0c;也预示着学院在智能科技教育领域的深入探索和实践。 广东…

利用Python进行数据分析PDF下载经典数据分享推荐

本书由Python pandas项目创始人Wes McKinney亲笔撰写&#xff0c;详细介绍利用Python进行操作、处理、清洗和规整数据等方面的具体细节和基本要点。第2版针对Python 3.6进行全面修订和更新&#xff0c;涵盖新版的pandas、NumPy、IPython和Jupyter&#xff0c;并增加大量实际案例…

SSM高校学生综合测评系统-计算机毕业设计源码16154

摘要 随着互联网时代的到来,同时计算机网络技术高速发展,网络管理运用也变得越来越广泛。因此,建立一个BS 结构的高校学生综合测评系统,会使高校学生综合测评系统工作系统化、规范化,也会提高高校学生综合测评系统平台形象,提高管理效率。 本学生综合测评系统是针对目前高校学生…

C++第二弹 -- C++基础语法下(引用 内联函数 auto关键字 范围for 指针空值)

本篇大纲 前言一. 引用续讲1. 传值,传引用效率对比2. 类型转换和表达式传引用的注意事项3. 引用与指针 二. 内联函数1. 概念2. 特性3. 面试题 三. auto关键字(C11)1. 类型别名思考2. auto简介3. auto的使用细则4. auto不能推导的场景 四. 基于范围的for循环(C11)1. 范围for的语…

运维系列.Nginx:自定义错误页面

运维系列 Nginx&#xff1a;自定义错误页面 - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite&#xff1a;http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddress of this article:https://blog.csdn.net/…

医院人员管理项目01_下午,css

文章目录 层叠样式表在html文件中引入css样式表&#xff1a;2种方法如何设置样式&#xff1a;3种css选择器继承权重 层叠样式表 引入html网页中的方式&#xff0c;共3种。 行内样式&#xff08;内联样式&#xff09;&#xff1a;直接在html中设置 内部样式&#xff1a;css代…

latex改写字体和字号

文章目录 字体使用宏包设置命令声明命令 字号例子设置特定字号 设置行间距用\setlength{\baselineskip}{24pt}设置\renewcommand{\baselinestretch}{2} \selectfont中文行距&#xff08;{ctex}&#xff09; 补充&#xff1a; 字体 使用宏包 \usepackage{ctex}设置命令 只对确…

【包邮送书】AIGC时代程序员的跃迁——编程高手的密码武器

欢迎关注博主 Mindtechnist 或加入【智能科技社区】一起学习和分享Linux、C、C、Python、Matlab&#xff0c;机器人运动控制、多机器人协作&#xff0c;智能优化算法&#xff0c;滤波估计、多传感器信息融合&#xff0c;机器学习&#xff0c;人工智能等相关领域的知识和技术。关…

20240708 Transformer

如何从浅入深理解transformer&#xff1f; - 知乎 1.出现了一些基于自监督的方法&#xff0c;这包括基于对比学习的方法如MoCo和SimCLR&#xff0c;和基于图像掩码的方法如MAE和BeiT 2、Transformer结构及其应用详解--GPT、BERT、MT-DNN、GPT-2 - 知乎 3. "Decoder-o…

掌握【Python异常处理】:打造健壮代码的现代编程指南

目录 ​编辑 1. 什么是异常&#xff1f; 知识点 示例 小李的理解 2. 常见的内置异常类型 知识点 示例 小李的理解 3. 异常机制的意义 知识点 示例 小李的理解 4. 如何处理异常 知识点 示例 小李的理解 5. 抛出异常 知识点 示例 小李的理解 6. Python内置…

从0到1搭建个性化推送引擎:百数教学带你掌握核心技术

百数低代码的推送提醒功能允许用户高度自定义提醒规则&#xff0c;支持多种提醒方式&#xff08;如钉钉、企业微信、微信、短信、语音、邮件等&#xff09;&#xff0c;以满足不同场景下的需求。 通过预设字段和模板&#xff0c;用户可以快速编辑提醒内容&#xff0c;减少重复…