【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(字典)
- 创建一个字典,包含你最喜欢的三种水果和它们的价格。
- 打印字典中所有键值对。
dic_fruits = {"apple": 2, "banana": 4, "orange": 5}
for k, v in dic_fruits.items():print(k, v)
apple 2
banana 4
orange 5
- 添加一种新的水果和它的价格。
dic_fruits["mango"] = 7
print(dic_fruits)
{'apple': 2, 'banana': 4, 'orange': 5, 'mango': 7}
- 修改一种水果的价格。
dic_fruits["apple"] = 3
print(dic_fruits)
{'apple': 3, 'banana': 4, 'orange': 5, 'mango': 7}
- 删除一种水果及其价格。
del dic_fruits['banana']
print(dic_fruits)
{'apple': 3, 'orange': 5, 'mango': 7}
4、练习4(字典)
- 创建一个字典,包含你的朋友的姓名和他们的年龄。
- 使用循环打印出每个朋友的姓名和年龄。
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,并更新字典中对应的值。
frinds_dic = {"zl": 23, "zff": 24, "jwj": 22}
for name,age in frinds_dic.items():age = age + 1frinds_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 += 1print(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 += 1print(i)
print(num1)
小明
小李
小王
小吴
小冯
5
# 4、求只选了两门学科的学生的数量和对应的名字(选做)
num4 = 0
for i in students:if i in ((set1 & set2) | (set1 & set3) | (set2 & set3)) - (set1 & set2 & set3):num4 += 1print(i)
print(num4)
小张
小黄
小周
3
#5、求选了三门学生的学生的数量和对应的名字(选做)
num5 = 0
for i in students:if i in set1 & set2 & set3:num5 += 1print(i)
print(num5)
小杨
1
相关文章:
【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). 请循环输…...
超融合服务器挂载硬盘--linux系统
项目中需要增加服务器的硬盘容量,通过超融合挂载了硬盘后,还需要添加到指定的路径下,这里记录一下操作步骤。 一:通过管理界面挂载硬盘 这一步都是界面操作,登录超融合控制云台后,找到对应的服务器&#…...
Kafka如何防止消息重复发送
Kafka 提供了几种方式来防止消息重复发送和处理。这些方式通常取决于生产者和消费者的设置和实现方式: 生产者端幂等性(什么是幂等性): 幂等性生产者:从 Kafka 0.11 版本开始引入了生产者端的幂等性支持。生产者可以通…...
数据库设计原则介绍
数据库设计是一个重要的过程,它涉及到创建一个逻辑结构来存储和管理数据。良好的数据库设计可以确保数据的完整性、一致性、性能和安全性。以下是一些关键的数据库设计原则: 1. 数据规范化 (Normalization) 目的:减少数据冗余、提高数据一致…...
反馈神经网络与不同类型的神经网络:BP神经网络,深度感知机,CNN,LSTM
反馈神经网络与不同类型的神经网络:BP神经网络,深度感知机,CNN,LSTM 在神经网络的研究和应用中,我们经常听到BP神经网络、深度感知机(MLP)、卷积神经网络(CNN)、长短期记…...
轮播图案例
丐版轮播图 <!DOCTYPE html> <html lang"zh-cn"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title> 基础轮播图 banner 移入移出</t…...
Spring 泛型依赖注入
Spring 泛型依赖注入,是利用泛型的优点对代码时行精简,将可重复使用的代码全部放到一个类之中,方便以后的维护和修改,同时在不增加代码的情况下增加代码的复用性。 示例代码: 创建实体类 Product package test.spri…...
C++ Linux调试(无IDE)
跨平台IDE编译调试C很方便,如QTCreate 、VSCode、Eclipse等,但是如果只能使用Shell控制台呢,gdb调试的优势就很明显了,在没有IDE的情况下,这个方式最有效。因为上手不是很难,特此整理 参考链接 目录 1、G…...
FFmpeg——视频拼接总结
最近需要做一个关于视频拼接的内容,需要将两个视频合成一个视频,使用opencv的话需要将视频读上来然后再写到文件了,这个会很消耗时间也没有必要。两个视频的编码格式是一样的,并不需要转码操作所以想法是直接将视频流补到后面&…...
springboot项目怎么样排除自带tomcat容器使用宝蓝德bes web中间件?
前言: 由于Spring Boot 1.x和2.x不兼容,BES提供了对应的Spring Boot Starter版本。 bes‑lite‑spring‑boot‑1.x‑starter.jar,适用于Spring Boot 1.x的版本。 bes‑lite‑spring‑boot‑2.x‑starter…...
响应式ref()和reactive()
文章目录 ref()reactive()ref对比reactivetoRefs与toRef ref() 作用:定义响应式变量。 语法:let xxxref(初始值)。 返回值:一个RefImpl的实例对象,简称ref对象或ref,ref对象的value属性是响应式的 注意点࿱…...
运维系列.Nginx中使用HTTP压缩功能
运维专题 Nginx中使用HTTP压缩功能 - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite:http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddress of this article:https://blog.csdn.net/qq_28550…...
vue3项目图片压缩+rem+自动重启等plugin使用与打包配置
一、Svg配置 每次引入一张 SVG 图片都需要写一次相对路径,并且对 SVG 图片进行压缩优化也不够方便。 vite-svg-loader插件加载SVG文件作为Vue组件,使用SVGO进行优化。 插件网站https://www.npmjs.com/package/vite-svg-loader 1. 安装 pnpm i vite-svg…...
数据库性能优化系统设计
设计一个数据库性能优化系统,目标是监测、诊断并改善数据库的运行效率,确保系统能够高效稳定地处理大量数据请求。以下是一个概要设计,包括关键模块、功能和实现思路: 1. 系统架构 分布式监控中心:采用分布式架构收集…...
MyBatisPlus-分页插件的基本使用
目录 配置插件 使用分页API 配置插件 首先,要在配置类中注册MyBatisPlus的核心插件,同时添加分页插件。(可以放到config软件包下) 可以看到,我们定义了一个配置类,在配置类里声明了一个Bean,这个Bean的名…...
深入探索Python库的奇妙世界:赋能编程的无限可能
在编程的浩瀚宇宙中,Python以其简洁的语法、强大的功能和广泛的应用领域,成为了众多开发者心中的璀璨明星。而Python之所以能够如此耀眼,很大程度上得益于其背后庞大的库生态系统。这些库,如同一块块精心雕琢的积木,让…...
力扣爆刷第161天之TOP100五连刷71-75(搜索二叉树、二维矩阵、路径总和)
力扣爆刷第161天之TOP100五连刷71-75(搜索二叉树、二维矩阵、路径总和) 文章目录 力扣爆刷第161天之TOP100五连刷71-75(搜索二叉树、二维矩阵、路径总和)一、98. 验证二叉搜索树二、394. 字符串解码三、34. 在排序数组中查找元素的…...
你真的了解Java内存模型JMM吗?
哈喽,大家好🎉,我是世杰。 本文我为大家介绍面试官经常考察的**「Java内存模型JMM相关内容」** 面试连环call 什么是Java内存模型(JMM)? 为什么需要JMM?Java线程的工作内存和主内存各自的作用?Java缓存一致性问题?Java的并发编程问题? …...
Springboot整合Jsch-Sftp
背景 开发一个基于jsch的sftp工具类,方便在以后的项目中使用。写代码的过程记录下来,作为备忘录。。。 Maven依赖 springboot依赖 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-par…...
生成随机的验证码图片(Python)
文章目录 一、导入包二、生成随机的验证码三、生成随机的rgb颜色四、生成图片验证码总结: 一、导入包 import random from PIL import Image, ImageDraw, ImageFont二、生成随机的验证码 def random_code(length4):默认返回4位随机验证码,字符串code …...
Python|GIF 解析与构建(5):手搓截屏和帧率控制
目录 Python|GIF 解析与构建(5):手搓截屏和帧率控制 一、引言 二、技术实现:手搓截屏模块 2.1 核心原理 2.2 代码解析:ScreenshotData类 2.2.1 截图函数:capture_screen 三、技术实现&…...
Flask RESTful 示例
目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题: 下面创建一个简单的Flask RESTful API示例。首先,我们需要创建环境,安装必要的依赖,然后…...
2025年能源电力系统与流体力学国际会议 (EPSFD 2025)
2025年能源电力系统与流体力学国际会议(EPSFD 2025)将于本年度在美丽的杭州盛大召开。作为全球能源、电力系统以及流体力学领域的顶级盛会,EPSFD 2025旨在为来自世界各地的科学家、工程师和研究人员提供一个展示最新研究成果、分享实践经验及…...
如何在看板中有效管理突发紧急任务
在看板中有效管理突发紧急任务需要:设立专门的紧急任务通道、重新调整任务优先级、保持适度的WIP(Work-in-Progress)弹性、优化任务处理流程、提高团队应对突发情况的敏捷性。其中,设立专门的紧急任务通道尤为重要,这能…...
C++.OpenGL (10/64)基础光照(Basic Lighting)
基础光照(Basic Lighting) 冯氏光照模型(Phong Lighting Model) #mermaid-svg-GLdskXwWINxNGHso {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-GLdskXwWINxNGHso .error-icon{fill:#552222;}#mermaid-svg-GLd…...
【RockeMQ】第2节|RocketMQ快速实战以及核⼼概念详解(二)
升级Dledger高可用集群 一、主从架构的不足与Dledger的定位 主从架构缺陷 数据备份依赖Slave节点,但无自动故障转移能力,Master宕机后需人工切换,期间消息可能无法读取。Slave仅存储数据,无法主动升级为Master响应请求ÿ…...
今日科技热点速览
🔥 今日科技热点速览 🎮 任天堂Switch 2 正式发售 任天堂新一代游戏主机 Switch 2 今日正式上线发售,主打更强图形性能与沉浸式体验,支持多模态交互,受到全球玩家热捧 。 🤖 人工智能持续突破 DeepSeek-R1&…...
Caliper 配置文件解析:config.yaml
Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...
SAP学习笔记 - 开发26 - 前端Fiori开发 OData V2 和 V4 的差异 (Deepseek整理)
上一章用到了V2 的概念,其实 Fiori当中还有 V4,咱们这一章来总结一下 V2 和 V4。 SAP学习笔记 - 开发25 - 前端Fiori开发 Remote OData Service(使用远端Odata服务),代理中间件(ui5-middleware-simpleproxy)-CSDN博客…...
Go语言多线程问题
打印零与奇偶数(leetcode 1116) 方法1:使用互斥锁和条件变量 package mainimport ("fmt""sync" )type ZeroEvenOdd struct {n intzeroMutex sync.MutexevenMutex sync.MutexoddMutex sync.Mutexcurrent int…...
