Python学习笔记第九天(字典)

简介: Python学习笔记第九天讲解字典、创建空字典、访问字典里的值、删除字典元素、字典键的特性、字典内置函数与方法的用法。

Python学习笔记第九天

字典

字典是另一种可变容器模型,且可存储任意类型对象。

字典的每个键值 key=>value 对用冒号 : 分割,每个对之间用逗号( , )分割,整个字典包括在花括号 {} 中 。

dict 作为 Python 的关键字和内置函数,变量名不建议命名为 dict

键必须是唯一的,但值则不必。

值可以取任何数据类型,但键必须是不可变的,如字符串,数字。

# 实例 1
tinydict = {'name': 'zhangsan', 'grade': 1, 'url': 'www.baidu.com'}
print(tinydict)

创建空字典

使用大括号 { } 创建空字典。

# 实例 2

# 使用大括号 {} 来创建空字典  
emptyDict = {}     
# 打印字典  
print(emptyDict)     
# 查看字典的数量  
print("Length:", len(emptyDict))     
# 查看类型  
print(type(emptyDict))

使用内建函数 dict() 创建字典。

# 实例 3
emptyDict = dict()   
# 打印字典  
print(emptyDict)    
# 查看字典的数量  
print("Length:",len(emptyDict))    
# 查看类型  
print(type(emptyDict))

访问字典里的值

把相应的键放入到方括号中。

# 实例 4
tinydict = {'Name': 'zhangsan', 'Age': 7, 'Class': 'First'}
print("tinydict['Name']: ", tinydict['Name'])
print("tinydict['Age']: ", tinydict['Age'])

如果用字典里没有的键访问数据,会输出错误。

# 实例 5
tinydict = {'Name': 'zhangsan', 'Age': 7, 'Class': 'First'}
print("tinydict['Alice']: ", tinydict['Alice'])

修改字典

向字典添加新内容的方法是增加新的键/值对,修改或删除已有键/值对

# 实例 6
tinydict = {'Name': 'zhangsan', 'Age': 7, 'Class': 'First'}
tinydict['Age'] = 8 # 更新 Age 
tinydict['School'] = "X大学" # 添加信息 
print("tinydict['Age']: ", tinydict['Age'])
print("tinydict['School']: ", tinydict['School'])

可以出Age从7变成8,多添加了个键与值。

举一反三

创建一个空字典在里面添加水果和蔬菜这两个键,水果值为苹果、蔬菜值为西红柿,再把西红柿改成马铃薯。

# 练习 1
Dict = {}
Dict['fruit'] = "苹果" 
Dict['vegetables'] = "西红柿"  
print("Dict['fruit']: ", Dict['fruit'])
print("Dict['vegetables']: ", Dict['vegetables'])
Dict['vegetables'] = "马铃薯"
print("Dict['vegetables']: ", Dict['vegetables'])

删除字典元素

能删单一的元素也能清空字典.clear(),清空只需一项操作,显式删除一个键或字典用del命令典。

# 实例 7
tinydict = {'Name': 'zhangsan', 'Age': 7, 'Class': 'First'}
del tinydict['Name'] # 删除键 'Name' 
tinydict.clear() # 清空字典 
del tinydict # 删除字典
print("tinydict['Age']: ", tinydict['Age'])
print("tinydict['School']: ", tinydict['School'])

字典键的特性

字典值可以是任何的 python 对象,既可以是标准的对象,也可以是用户定义的,但键不行。

两个重要的点需要记住:

  1. 不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住。
  2. 键必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行。

字典内置函数与方法

Python字典包含了以下内置函数:

序号 函数及描述
1 len(dict) 计算字典元素个数,即键的总数。
2 str(dict) 输出字典,可以打印的字符串表示。
3 type(variable) 返回输入的变量类型,如果变量是字典就返回字典类型。

Python字典包含了以下内置方法:

序号 函数及描述
1 [dict.clear()] 删除字典内所有元素
2 [dict.copy()] 返回一个字典的浅复制
3 [dict.fromkeys()]创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
4 [dict.get(key, default=None)] 返回指定键的值,如果键不在字典中返回 default 设置的默认值
5 [key in dict] 如果键在字典dict里返回true,否则返回false
6 [dict.items()] 以列表返回一个视图对象
7 [dict.keys()]返回一个视图对象
8 [dict.setdefault(key, default=None)] 和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
9 [dict.update(dict2)]把字典dict2的键/值对更新到dict里
10 [dict.values()] 返回一个视图对象
11 [pop(key[,default])]l) 删除字典 key(键)所对应的值,返回被删除的值。
12 [popitem()] 返回并删除字典中的最后一对键和值。

结束语

今天学习的是Python字典学会了吗。 今天学习内容总结一下:

  1. 字典
  2. 创建空字典
  3. 访问字典里的值
  4. 删除字典元素
  5. 字典键的特性
  6. 字典内置函数与方法
相关文章
|
24天前
|
XML JSON API
如何使用Python将字典转换为XML
本文介绍了如何使用Python中的`xml.etree.ElementTree`库将字典数据结构转换为XML格式。通过定义递归函数处理字典到XML元素的转换,生成符合标准的XML文档,适用于与旧系统交互或需支持复杂文档结构的场景。示例代码展示了将一个简单字典转换为XML的具体实现过程。
16 1
|
2月前
|
网络协议 Java Linux
PyAV学习笔记(一):PyAV简介、安装、基础操作、python获取RTSP(海康)的各种时间戳(rtp、dts、pts)
本文介绍了PyAV库,它是FFmpeg的Python绑定,提供了底层库的全部功能和控制。文章详细讲解了PyAV的安装过程,包括在Windows、Linux和ARM平台上的安装步骤,以及安装中可能遇到的错误和解决方法。此外,还解释了时间戳的概念,包括RTP、NTP、PTS和DTS,并提供了Python代码示例,展示如何获取RTSP流中的各种时间戳。最后,文章还提供了一些附录,包括Python通过NTP同步获取时间的方法和使用PyAV访问网络视频流的技巧。
424 4
PyAV学习笔记(一):PyAV简介、安装、基础操作、python获取RTSP(海康)的各种时间戳(rtp、dts、pts)
|
2月前
|
Python
Socket学习笔记(二):python通过socket实现客户端到服务器端的图片传输
使用Python的socket库实现客户端到服务器端的图片传输,包括客户端和服务器端的代码实现,以及传输结果的展示。
165 3
Socket学习笔记(二):python通过socket实现客户端到服务器端的图片传输
|
2月前
|
JSON 数据格式 Python
Socket学习笔记(一):python通过socket实现客户端到服务器端的文件传输
本文介绍了如何使用Python的socket模块实现客户端到服务器端的文件传输,包括客户端发送文件信息和内容,服务器端接收并保存文件的完整过程。
174 1
Socket学习笔记(一):python通过socket实现客户端到服务器端的文件传输
|
2月前
|
关系型数据库 MySQL 数据库
Mysql学习笔记(四):Python与Mysql交互--实现增删改查
如何使用Python与MySQL数据库进行交互,实现增删改查等基本操作的教程。
73 1
|
2月前
|
Ubuntu Linux Python
Ubuntu学习笔记(六):ubuntu切换Anaconda和系统自带Python
本文介绍了在Ubuntu系统中切换Anaconda和系统自带Python的方法。方法1涉及编辑~/.bashrc和/etc/profile文件,更新Anaconda的路径。方法2提供了详细的步骤指导,帮助用户在Anaconda和系统自带Python之间进行切换。
113 1
|
2月前
|
索引 Python
Python学习笔记编程小哥令狐~持续更新、、、(上)
Python学习笔记编程小哥令狐~持续更新、、、(上)
53 2
|
2月前
|
存储 Python
Python学习笔记编程小哥令狐~持续更新、、、 (下)
Python学习笔记编程小哥令狐~持续更新、、、 (下)
35 1
|
3月前
|
存储 JSON 索引
一文让你彻底搞懂 Python 字典是怎么实现的
一文让你彻底搞懂 Python 字典是怎么实现的
63 13
|
2月前
|
存储 Python
【免费分享编程笔记】Python学习笔记(二)
【免费分享编程笔记】Python学习笔记(二)
48 0
【免费分享编程笔记】Python学习笔记(二)