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

Python笔记 -- 字典

文章目录

    • 1、概述
    • 2、增删改查
    • 3、遍历
      • 3.1、遍历所有键值对
      • 3.2、分别遍历键和值
    • 4、嵌套
      • 4.1、字典列表
      • 4.2、在字典中储存列表
      • 4.3、在字典中储存字典

1、概述

字典是一系列键值对,可将任何Python对象作为字典中的值
字典和列表容易混淆,列表也可用{}
字典是一种动态结构,可随时在其中添加键值对
字典中的键应避免重复

2、增删改查

num = 2019001
stu = {'name': 'XiaoMing', 'num': num}# 增
stu['age'] = 20
print(stu)# 删
del stu['age']
print(stu)# 改
stu['name'] = 'LiHua'
stu['num'] = 2019002
print(stu)# 查
print(stu['name'])
print(stu['num'])# 也可以用get来查询
age = stu.get('age', 'Can\'t find the age')
print(age)
print(stu.get('age'))

在这里插入图片描述
可以使用get来查询字典,避免找不到对应的值而抛出异常

3、遍历

3.1、遍历所有键值对

用方法items返回一个键值对列表

stu = {'name': 'XiaoMing', 'num': 2019001}for k,v in stu.items():print('key:'+k)print(f"value:{v}\n")
print(stu.items())

在这里插入图片描述

3.2、分别遍历键和值

  • 遍历键
age = {'Bob': 19, 'LiHua': 20, 'Alex': 21}for name in age:print(name, end=',')# 也可显式的使用方法key()
print()
for name in age.keys():print(name, end=',')# key返回的是包含键的列表
print(f"\n{age.keys()}")
print(f"{sorted(age.keys())}")

在这里插入图片描述

  • 遍历值
stu_age = {'Bob': 19, 'LiHua': 20, 'Alex': 21, 'Rick': 20}for age in stu_age.values():print(age, end=",")
print()# 可使用set来消除重复的值
for age in set(stu_age.values()):print(age, end=',')

在这里插入图片描述

4、嵌套

4.1、字典列表

  • 创建3个字典放到列表中
stu = []# 类似于c语言 for(int i = 0;i<3;i++)
for i in range(3):new_stu = {'age':20, 'sex':'man'}stu.append(new_stu)print(stu)

在这里插入图片描述

4.2、在字典中储存列表

stu = {}
names = ['Alex','Bob','XiaoMing']
info = ['man',20]for name in names:stu[name] = infoprint(stu)

在这里插入图片描述

4.3、在字典中储存字典

stu = {}
names = ['Alex','Bob']
info = {'sex':'man', 'age':20}for name in names:stu[name] = infoprint(stu)

在这里插入图片描述

笔记来源:《Python编程 从入门到实践》

http://www.lryc.cn/news/32075.html

相关文章:

  • 【独家】华为OD机试 - 滑动窗口(C 语言解题)
  • MySQL调优 - SQL查询深度分页问题
  • 0306spring--复习
  • 动手实现一遍Transformer
  • 【Flutter入门到进阶】Flutter基础篇---弹窗Dialog
  • 【操作系统】进程和线程的区别
  • Linux开发环境配置--正点原子阿尔法开发板
  • Android ThreadPoolExecutor的基本使用
  • 基于区域生长和形态学处理的图像融合方法——Matlab图像处理
  • 三个案例场景带你掌握Cisco交换机VLAN互通
  • 小白入门之持久连接与非持久连接的差别
  • TypeScript篇.01-简介,类,接口,基础类型
  • 分享几种WordPress怎么实现相关文章功能
  • PANGO的IOB的电平能力那些事
  • scrpy学习-02
  • MySQL运维篇之Mycat分片规则
  • vue router elementui template CDN模式实现多个页面跳转
  • ElasticSearch - ElasticSearch基本概念及集群内部原理
  • 【反射中,Class.forName和ClassLoader区别】
  • 2023了为什么还有人在问:女生适合做跨境电商吗?
  • 磁盘分区和挂载
  • 电子技术——晶体管尺寸
  • Tuxera NTFS2023MacOS读写软件功能介绍使用
  • 2022年数维杯国际大学生数学建模挑战赛A题自动地震地平线跟踪解题全过程论文及程序
  • 推荐系统[八]:推荐系统常遇到问题和解决方案[物品冷启动问题、多目标平衡问题、数据实时性问题等]
  • shutil.copyfile PermissionError: [Errno 13] Permission denied
  • 07react+echart,大屏代码开发
  • 【数据库原理复习】ch2 SQL语句(主要基于sql server)
  • Cadence Allegro 导出Component Pin Report详解
  • PAT甲级 1110 Complete Binary Tree