- 例解Python:Python编程快速入门践行指南
- 张志刚
- 406字
- 2021-02-26 18:02:26
2.5 字典
2.5.1 定义字典
字典通过一对花括号{}来定义。字典是由键值对构成的映射数据类型。只能通过字典的键去取对应的值,不能像字符串、列表和元组那样取切片:
![img](https://epubservercos.yuewen.com/65F395/19118079508020906/epubprivate/OEBPS/Images/txt002_84.jpg?sign=1739667262-XCFPGhvuUStTSEzNNmp2xG5MNVzfMeFT-0-cf7f130d478a011e58ab3a783bfad0dc)
2.5.2 更新字典内容
更新字典非常简单,直接通过字典的键(Key)赋值即可:
![img](https://epubservercos.yuewen.com/65F395/19118079508020906/epubprivate/OEBPS/Images/txt002_85.jpg?sign=1739667262-C8DYHqj72Zhfn8STG4HvDXFUbPmETbF5-0-fce63226720e0dbe2365b8809df2178b)
如果使用的键已经在字典中,则会把相应的值(Value)改掉;如果键不在字典中,则会向字典增加新的元素。
2.5.3 字典方法
➢ dict.fromkeys()。
fromkeys()方法用于创建具有相同默认值的字典:
![img](https://epubservercos.yuewen.com/65F395/19118079508020906/epubprivate/OEBPS/Images/txt002_86.jpg?sign=1739667262-mToiOHjbI3YEINzivRSwEppOy3UaWS9v-0-ee49399c81289ae7315776474124225b)
➢ dict.keys()。
keys()方法返回字典所有的键:
![img](https://epubservercos.yuewen.com/65F395/19118079508020906/epubprivate/OEBPS/Images/txt002_87.jpg?sign=1739667262-nJaxXlhfp5nEpzZQxxoj5rBrnY9mdxr6-0-6e71ba993c1a8f8d58ed46d3b340a432)
➢ dict.values()。
values()方法返回字典所有的值:
![img](https://epubservercos.yuewen.com/65F395/19118079508020906/epubprivate/OEBPS/Images/txt002_88.jpg?sign=1739667262-vFtk3Gdja5muZGfrEbh4SwCUDKd1Wlxi-0-f218b34fbcf640263fa8623d89f20d4b)
➢ dict.items()。
items()方法返回字典键值对:
![img](https://epubservercos.yuewen.com/65F395/19118079508020906/epubprivate/OEBPS/Images/txt002_89.jpg?sign=1739667262-V0hciLaHZHtiicMfjwegzp9I21sa8XqK-0-a01da3008bc0f291be1e184ec3edf7a6)
➢ dict.pop()。
pop()方法用于根据字典的键弹出元素:
![img](https://epubservercos.yuewen.com/65F395/19118079508020906/epubprivate/OEBPS/Images/txt002_90.jpg?sign=1739667262-3oBRCsIfWO5ZCmtzFrQgZCAkhWu6Entx-0-855f53d4491637c82863b7410a3a0969)
➢ dict.get()。
get()方法用于通过字典的键取值。如果字典中有该键,则返回对应的值,否则返回None(None等同于其他语言里的Null,空值)。也可以指定返回值,如果键不在字典中,则返回指定的值。如下所示:
![img](https://epubservercos.yuewen.com/65F395/19118079508020906/epubprivate/OEBPS/Images/txt002_91.jpg?sign=1739667262-s6q9V3UM597eVtWpqYHboAglcr0Cu0BC-0-d3dff59cdb8207fef06cc15b8364d2f8)
![img](https://epubservercos.yuewen.com/65F395/19118079508020906/epubprivate/OEBPS/Images/txt002_92.jpg?sign=1739667262-75t49ODzyeq4Y0FlCGFuGWd2rRH5O3PC-0-9b91bb27b4b242b4fd5abcd919f23ea6)
➢ dict.setdefault()。
setdefault()方法用于向字典添加新的元素。如果字典中已经有键,那么添加会失败,同时返回字典中键对应的值:
![img](https://epubservercos.yuewen.com/65F395/19118079508020906/epubprivate/OEBPS/Images/txt002_93.jpg?sign=1739667262-Gmw5Hb3pMgqBpkEvBWm6OQO3EHYhXihc-0-8af33f7a1c9eefdfb359cffb8b3a58be)
➢ dict.update()。
update()方法用于字典的合并:
![img](https://epubservercos.yuewen.com/65F395/19118079508020906/epubprivate/OEBPS/Images/txt002_94.jpg?sign=1739667262-rL6Jib3deE0VTbsUD93CQroBzImDXD1r-0-e00f2844aa11e6368b7a6b169fdf88f2)