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

006_字典操作

1、创建字典、访问字典中的值、字典中添加键值对、修改字典中的值、del 永久删除字典中的键值对、get()访问字典

cars = {'宝马':'95','长安':'92','奔驰':'95','吉利':'92','奥迪':'95',}
print(cars)# 创建一个字典
user = {} # 创建一个空字典
print(user)
user['name'] = '张三' # 在字典中添加键值对
user['age'] = 18
user['height'] = 180
user['weight'] = 120
user['email'] = '123456@qq.com'
print(user)
print(type(user))
print(f"{user['name']}今年 {user['age']} 岁,身高{user['height']}cm 体重{user['weight']}斤") # 查找字典中的值print(cars)
cars['吉利'] = '95' # 修改字典中的值
print(cars)
print(cars['吉利'])if user['height'] <=180:new_weight = -5
elif user['date'] > 180:new_weight = 5
else:new_weight = 0
user['weight'] = user['weight'] + new_weight
print(f"{user['name']}今年 {user['age']} 岁,身高{user['height']}cm 体重{user['weight']}斤") # 查找字典中的值del cars['奥迪'] # del 永久删除字典中的键值对
print(cars)user1 = user.get("name", "没有这个值") # get()访问字典,第一个参数是要查询的键返回相应的值,第二个参数是当键不存在时返回一个默认的值
user2 = user.get("date", "没有这个值")
user3 = user.get("date") # 第二个参数不传时,默认返回None
print(user1)
print(user2)
print(user3)

2、遍历字典

# 遍历所有键值对 items()方法
for key, value in user.items():print(f'\nkey:{key} \nvalue:{value}')# 遍历字典中的所有键 keys()方法
for key in user.keys():print(f'\nkey:{key.title()}')# 默认就是keys()方法,也可以省略
for key in user:print(f'\nkey:{key.title()}')
# keys()方法也可以用来做判断,返回的是一个列表
if 'email' not in user:print('缺少邮件信息')
else:print('邮件信息存在')
# 按特定顺序遍历字典中的所有键
# for key in sorted(user.keys()): 等同于下面的
for key in sorted(user):print(f'{key.title()}')# 遍历字典中的所有值 values()方法
for value in sorted(cars.values()):print(f'{value}')# 数据量大时可以用set()集合,处理重复项,集合中每个元素都是独一无二的
for value in set(cars.values()):print(f'{value}')
# 创建一个集合, 利用集合去重
cars_list1 = {'长城', '奔驰', '奥迪', '长安'}
cars_list2 = {'吉利', '奔驰', '奥迪', '红旗'}
# cars_list = cars_list1.union(cars_list2) # 合并集合
cars_list = cars_list1 | cars_list2 # 合并集合
cars_list1.update(cars_list2) # 将cars_list2 添加到集合 cars_list1中
print(cars_list)

3、嵌套;可在列表中嵌套字典、字典中嵌套列表、字典中嵌套字典

# 字典列表(在列表中存储字典)
user1 = {'name':'张三', 'age': 16, 'tag':'成年'}
user2 = {'name':'李四', 'age': 17, 'tag':'成年'}
user3 = {'name':'王五', 'age': 18, 'tag':'成年'}
user4 = {'name':'李红', 'age': 16, 'tag':'成年'}
user5 = {'name':'李明', 'age': 17, 'tag':'成年'}
user6 = {'name':'王一', 'age': 18, 'tag':'成年'}
users = [user1, user2, user3, user4, user5, user6]
print(users)
for user in users[:2]: # 将2个人的信息更新为正确的if user['age'] < 18:user['tag'] = '未成年'
print(users)
# 在字典中存储列表
student = {'name':'陈一','hobby':['play basketball', 'read a book', 'play chess'],
}
students1 = {'王二':['play basketball', 'read a book'],'陈一':[ 'read a book', 'play chess'],
}
print(f"{student['name']}的爱好:")
a = [print(i) for i in student['hobby']] # 不推荐这样使用列表推导式,列表推导式一般都是用来生成新列表的,此程序用来打印会生成存在三个none元素的空列表,浪费内存
print(a)
b = [i.title() for i in student['hobby']] # 这样就合理一点,但还是会浪费内存,直接打印更高效
for item in b:print(item)for name, hobby_list in students1.items():print(f'\n{name}的爱好是:')for bobby in hobby_list:print(f'\t{bobby.title()}')# 在字典中存储字典
students2 = {'陈一':{'age':18,'tag':'成年', 'hobby':['play basketball', 'read a book'],},'王五':{'age':17,'tag':'未成年','hobby':['play basketball', 'play chess'],},'马二':{'age':16,'tag':'未成年','hobby':['read a book', 'play chess'],},
}
for stu_name, stu_info in students2.items():print(f'\n学生 {stu_name} 的信息:')for key, value in stu_info.items():print(f'\t {key}: {value}')# for value in stu_info.values():#     print(f'\t{value}')
http://www.hskmm.com/?act=detail&tid=13554

相关文章:

  • 简单理解java虚拟机
  • 东方通中间件嵌入式监控脚本
  • 004_元组操作
  • 个人作业-第二次软件工程作业
  • 代码流水线
  • 洛谷题单指南-进阶数论-P1516 青蛙的约会
  • electron中的几个概念
  • 实用指南:告别IP被封!分布式爬虫的“隐身”与“分身”术
  • 从 “盲调” 到 “精准优化”:SQL Server 表统计信息实战指南
  • 别的摄像机都能国标GB28181注册上,就这台海康摄像机注册不上来,国标配置都反复检查没问题
  • 保护眼睛小程序
  • CSP-2025游寄
  • [::-1]的用法
  • 003_for循环操作列表和元组
  • linux 文件传输命令
  • 新手也能轻松上手!midas Gen 2019 安装详细图解
  • Redis AOF原理
  • 001_string操作
  • hbase 面试题
  • ANSYS Electronics 2025 R1 安装与使用全流程图文教程
  • mall项目学习笔记
  • 实用指南:通义DeepResearch论文六连发全面解读
  • glTF/glb:现在和未来
  • 存储多边形网格的文件格式:OBJ、FBX、RenderMan、glTF、USD 等。
  • 安防监控中常见的报警类型有哪些?国标GB28181平台EasyGBS的报警能力解析
  • Notepad++8.6免费版下载及安装教程(附安装包)2025最新整理
  • VTable-Sheet:重新定义Web电子表格的开源解决方案
  • Coolmuster Android Assistant:Windows架构下的Android设备管理专家
  • 负载均衡+Tomcat集群+MySQL主从 实验
  • mysql表新增字段,基本语法