博客
关于我
python ==》 字典
阅读量:800 次
发布时间:2023-03-05

本文共 2504 字,大约阅读时间需要 8 分钟。

Python 字典(字典在 Python 中的使用方法)

字典是 Python 中一种常用的数据结构,用于存储一组键值对。通过字典,可以快速查找和操作数据,极大地方便了开发工作。以下将从基础操作到高级功能详细讲解字典的使用方法。

1. 字典的定义

字典的定义非常简单,可以通过以下几种方式创建:

d = {'x': 1}

这与 d = {‘key, 值’} 等同,表示创建一个字典 d,键为 'x',值为 1

d = dict(x=1)

这与上述方法等效,同样表示键为 'x',值为 1

d = dict({'x': 1})

这与前两种方法等效,创建同样的字典。

2. 字典的清空

如果需要清空字典,可以使用 clear() 方法:

d.clear()

执行此命令后,字典 d 将变为空的。

3. 取值

从字典中取值非常简单,可以通过以下方式实现:

print(d['x'])  # 直接通过 key 取值

如果 key 不存在,会抛出 KeyError 异常。如果希望在 key 不存在时返回默认值,可以使用 get() 方法:

print(d.get('y', '找不到啦'))  # .get() 如果没有那个 key 就会有个返回值

4. 输出取值

假设字典定义如下:

d = {'x': 1, 'y': 1}

可以通过 items() 方法同时输出 key 和 value:

print(d.items())  # 同时输出 key 和值

执行后,输出结果为:

('x', 1)('y', 1)

5. for 循环输出

可以通过 for 循环遍历字典的所有项:

for item in d.items():  # [('x',1), ('y',1)]    print(item)

或者分别遍历 key 和 value:

for k, v in d.items():  # [('x',1), ('y',1)]    print(k, v)

执行后,输出结果为:

(x, 1)(y, 1)x 1y 1

6. 提取列表

如果需要提取字典的所有键,可以使用 keys() 方法:

res = list(d.keys())print(res)

执行后,输出结果为:

['x', 'y']

7. 把字典的值转换成列表形式

如果需要将字典的所有值转换成列表形式,可以使用 values() 方法:

print(d.values())  # 打印值print(list(d.values()))  # 把字典的值转换列表形式print(list(d.values())[1])  # 后面是索引值

执行后,输出结果为:

[1, 1][1, 1]1

8. 删除

字典的删除操作也很简单,可以通过以下方式实现:

print(d.pop('y'))  # 删除 keyprint(d)  # 删除后的字典

如果指定删除的 key 不存在,可以设置默认返回值:

print(d.pop('z', '没有啦'))  # 指定删除,如果没有,就返回值。

如果随机删除一个 key,可以使用 popitem() 方法:

print(d.popitem())  # 随机删除print(d)

执行后,输出结果为:

y{'x': 1}

9. 增加一个 key 并赋值

可以通过 setdefault() 方法增加一个 key 并赋值:

d = {'x': 1, 'y': 111111}d.setdefault('z', 3)  # 增加一个 key ,并给它赋值print(d)

执行后,输出结果为:

{'x': 1, 'y': 111111, 'z': 3}

或者可以直接通过字典访问:

d['name'] = 123  # 添加一个 key 并给它赋值print(d)

执行后,输出结果为:

{'x': 1, 'y': 111111, 'name': 123}

10. 快速产生字典

可以通过 fromkeys() 方法快速生成一个字典:

d6 = {}.fromkeys(['name', 'age'], None)  # 快速产生字典print(d6)

执行后,输出结果为:

{'name': None, 'age': None}

11. 更新

可以通过 update() 方法更新字典:

d = {'name': 'zxc', 'sex': 'male'}d.update({'name': 'zxcyes', 'age': 10})print(d)

执行后,输出结果为:

{'name': 'zxcyes', 'sex': 'male', 'age': 10}

12. 新增

如果字典为空,可以通过直接赋值的方式新增 key:

d = {}d['x'] = 1print(d)

执行后,输出结果为:

{'x': 1}

13. 字典的 keys、values、items

字典的常用方法还有获取所有 key 的列表 keys(),所有 value 的列表 values(),以及 key-value 对的列表 items()

print(d.keys())  # 值print(d.values())  # 键print(d.items())  # 键值对

14. 字典的长度

字典的长度可以通过 len() 函数获取:

d = {'x': 1, 'y': 2}print(len(d))

输出结果为:

2

15. 成员运算

可以通过 in 运算符判断 key 是否存在:

d = {'x': 1, 'y': 2, 'z': 3}print('x' in d)  # Trueprint(1 in d.values())  # True

16. 解压变量

字典的解压可以与列表一样实现:

a, b, c, d, e = 'hello'a, *_, e = 'hello'print(a, e)

执行后,输出结果为:

h elloh ello

以上就是 Python 字典的基本使用方法和示例,希望对你有所帮助!

转载地址:http://zvafk.baihongyu.com/

你可能感兴趣的文章
ProjectEuler 2
查看>>
projection介绍及EPSG:4326和EPSG:3857的投射转换
查看>>
project打开文件时,显示无法识别此文件格式?
查看>>
Prometheus + Grafana on Kubernetes部署
查看>>
ProtoBuf在使用protoc进行编译时提示: Required fields are not allowed in proto3
查看>>
Protobuf学习 - 入门
查看>>
protobuf对象与JSON相互转换
查看>>
ProtoBuf的介绍以及在Java中使用protobuf将对象进行序列化与反序列化
查看>>
protocol学习笔记001---RPC和HTTP协议之间的区别_与各自优势
查看>>
protostuff简单应用
查看>>
Proxy源代码分析--谈谈如何学习linux网络编程
查看>>
pr录制自己声音杂音很重
查看>>
ps ww
查看>>
PS —— 制作喷漆人像
查看>>
PS —— 制作证件照
查看>>
PS —— 精修图像
查看>>
PS 图像调整算法——色调分离
查看>>
ps 图层混合模式
查看>>
PS获取RGB和十六进制的颜色值
查看>>
PyTorch 的 10 条顶级知识点
查看>>