当前位置: 首页 > news >正文

第10天:字典和集合任务

学习内容:

  1. 字典的创建和操作
  2. 集合的创建和操作

字典(Dictionary)

字典的创建
# 创建一个空字典
my_dict = {}# 创建一个带有初始值的字典
my_dict = {"name": "Alice", "age": 25, "city": "New York"}
访问字典元素
print(my_dict["name"])  # 输出:Alice
print(my_dict.get("age"))  # 输出:25
修改字典元素
my_dict["age"] = 26
print(my_dict["age"])  # 输出:26
添加和删除字典元素
my_dict["email"] = "alice@example.com"
print(my_dict)del my_dict["city"]
print(my_dict)
字典的遍历

使用 for 循环遍历字典的键、值或键值对。

# 遍历字典的键
for key in my_dict.keys():print(key)# 遍历字典的值
for value in my_dict.values():print(value)# 遍历字典的键值对
for key, value in my_dict.items():print(f"{key}: {value}")

集合(Set)

集合的创建

集合是无序且不重复的元素集合,使用大括号 {}set() 函数来定义。

# 创建一个空集合
my_set = set()# 创建一个带有初始值的集合
my_set = {1, 2, 3, 4, 5}
添加和删除集合元素

使用 add() 方法添加元素,使用 remove() 方法删除元素。

my_set.add(6)
print(my_set)my_set.remove(3)
print(my_set)
集合的基本操作

集合支持数学上的集合操作,如并集、交集、差集等。

set1 = {1, 2, 3, 4}
set2 = {3, 4, 5, 6}# 并集
print(set1 | set2)# 交集
print(set1 & set2)# 差集
print(set1 - set2)# 对称差集
print(set1 ^ set2)

实践任务:

任务1:字典操作
  1. 创建一个字典,包含三个键值对,表示三位学生的姓名和成绩。
  2. 打印字典中所有学生的姓名和成绩。
  3. 添加一个新学生和成绩到字典中。
  4. 修改其中一个学生的成绩。
  5. 删除一个学生的记录。
示例代码:
# 创建字典
students = {"Alice": 85, "Bob": 92, "Charlie": 78}# 打印所有学生的姓名和成绩
for name, grade in students.items():print(f"{name}: {grade}")# 添加新学生
students["David"] = 90
print(students)# 修改学生成绩
students["Alice"] = 95
print(students)# 删除学生记录
del students["Charlie"]
print(students)

任务2:集合操作
  1. 创建一个包含若干整数的集合。
  2. 添加一个新整数到集合中。
  3. 删除集合中的一个整数。
  4. 创建另一个集合并计算两个集合的并集、交集和差集。
示例代码:
# 创建集合
numbers = {1, 2, 3, 4, 5}# 添加新整数
numbers.add(6)
print(numbers)# 删除整数
numbers.remove(3)
print(numbers)# 创建另一个集合
more_numbers = {4, 5, 6, 7, 8}# 计算并集
print(numbers | more_numbers)# 计算交集
print(numbers & more_numbers)# 计算差集
print(numbers - more_numbers)

相关文章:

  • 阿里云 CosyVoice 语音合成大模型 API 实践
  • HNU电子测试平台与工具2_《计算机串口使用与测量》
  • 视频监控汇聚平台LntonCVS视频监控业务平台具体有哪些功能?
  • 20240702在vmware17.5虚拟机中让ubuntu22.04使用主机的代理上网
  • [图解]SysML和EA建模住宅安全系统-07-to be块定义图
  • 【UML用户指南】-26-对高级行为建模-状态图
  • DC/AC电源模块:为智能家居设备提供恒定的电力供应
  • 深入探索Scala的类型推断机制
  • 【MySQL备份】Percona XtraBackup加密备份实战篇
  • 粤港联动,北斗高质量国际化发展的重要机遇
  • 中间包烘烤器控制
  • 力扣1124.表现良好的最长时间段
  • 边缘混合计算智慧矿山视频智能综合管理方案:矿山安全生产智能转型升级之路
  • 基于RK3588的GMSL、FPDLink 、VByone及MIPI等多种摄像模组,适用于车载、机器人工业图像识别领域
  • OK527N-C开发板-简单的性能测试
  • Computed property XXX was assigned to but it has no setter
  • es6
  • github指令
  • hadoop入门学习教程--DKHadoop完整安装步骤
  • happypack两次报错的问题
  • JSDuck 与 AngularJS 融合技巧
  • JS基础之数据类型、对象、原型、原型链、继承
  • JS实现简单的MVC模式开发小游戏
  • MySQL用户中的%到底包不包括localhost?
  • Node + FFmpeg 实现Canvas动画导出视频
  • Quartz实现数据同步 | 从0开始构建SpringCloud微服务(3)
  • Vue 动态创建 component
  • 阿里云容器服务区块链解决方案全新升级 支持Hyperledger Fabric v1.1
  • 从@property说起(二)当我们写下@property (nonatomic, weak) id obj时,我们究竟写了什么...
  • 对超线程几个不同角度的解释
  • 区块链分支循环
  • 少走弯路,给Java 1~5 年程序员的建议
  • 使用前端开发工具包WijmoJS - 创建自定义DropDownTree控件(包含源代码)
  • 说说动画卡顿的解决方案
  • ​configparser --- 配置文件解析器​
  • ​DB-Engines 11月数据库排名:PostgreSQL坐稳同期涨幅榜冠军宝座
  • # 详解 JS 中的事件循环、宏/微任务、Primise对象、定时器函数,以及其在工作中的应用和注意事项
  • # 职场生活之道:善于团结
  • ()、[]、{}、(())、[[]]等各种括号的使用
  • (Redis使用系列) Springboot 使用redis实现接口Api限流 十
  • (WSI分类)WSI分类文献小综述 2024
  • (搬运以学习)flask 上下文的实现
  • (二)Eureka服务搭建,服务注册,服务发现
  • (分享)一个图片添加水印的小demo的页面,可自定义样式
  • (附源码)ssm经济信息门户网站 毕业设计 141634
  • (附源码)计算机毕业设计ssm-Java网名推荐系统
  • (过滤器)Filter和(监听器)listener
  • (六)vue-router+UI组件库
  • (十八)devops持续集成开发——使用docker安装部署jenkins流水线服务
  • (已更新)关于Visual Studio 2019安装时VS installer无法下载文件,进度条为0,显示网络有问题的解决办法
  • (转)用.Net的File控件上传文件的解决方案
  • .net core 6 集成和使用 mongodb
  • .NET 中各种混淆(Obfuscation)的含义、原理、实际效果和不同级别的差异(使用 SmartAssembly)
  • .NET 中使用 TaskCompletionSource 作为线程同步互斥或异步操作的事件
  • .NET/C# 项目如何优雅地设置条件编译符号?