本文共 2504 字,大约阅读时间需要 8 分钟。
字典是 Python 中一种常用的数据结构,用于存储一组键值对。通过字典,可以快速查找和操作数据,极大地方便了开发工作。以下将从基础操作到高级功能详细讲解字典的使用方法。
字典的定义非常简单,可以通过以下几种方式创建:
d = {'x': 1} 这与 d = {‘key, 值’} 等同,表示创建一个字典 d,键为 'x',值为 1。
d = dict(x=1)
这与上述方法等效,同样表示键为 'x',值为 1。
d = dict({'x': 1}) 这与前两种方法等效,创建同样的字典。
如果需要清空字典,可以使用 clear() 方法:
d.clear()
执行此命令后,字典 d 将变为空的。
从字典中取值非常简单,可以通过以下方式实现:
print(d['x']) # 直接通过 key 取值
如果 key 不存在,会抛出 KeyError 异常。如果希望在 key 不存在时返回默认值,可以使用 get() 方法:
print(d.get('y', '找不到啦')) # .get() 如果没有那个 key 就会有个返回值 假设字典定义如下:
d = {'x': 1, 'y': 1} 可以通过 items() 方法同时输出 key 和 value:
print(d.items()) # 同时输出 key 和值
执行后,输出结果为:
('x', 1)('y', 1) 可以通过 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
如果需要提取字典的所有键,可以使用 keys() 方法:
res = list(d.keys())print(res)
执行后,输出结果为:
['x', 'y']
如果需要将字典的所有值转换成列表形式,可以使用 values() 方法:
print(d.values()) # 打印值print(list(d.values())) # 把字典的值转换列表形式print(list(d.values())[1]) # 后面是索引值
执行后,输出结果为:
[1, 1][1, 1]1
字典的删除操作也很简单,可以通过以下方式实现:
print(d.pop('y')) # 删除 keyprint(d) # 删除后的字典 如果指定删除的 key 不存在,可以设置默认返回值:
print(d.pop('z', '没有啦')) # 指定删除,如果没有,就返回值。 如果随机删除一个 key,可以使用 popitem() 方法:
print(d.popitem()) # 随机删除print(d)
执行后,输出结果为:
y{'x': 1} 可以通过 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} 可以通过 fromkeys() 方法快速生成一个字典:
d6 = {}.fromkeys(['name', 'age'], None) # 快速产生字典print(d6) 执行后,输出结果为:
{'name': None, 'age': None} 可以通过 update() 方法更新字典:
d = {'name': 'zxc', 'sex': 'male'}d.update({'name': 'zxcyes', 'age': 10})print(d) 执行后,输出结果为:
{'name': 'zxcyes', 'sex': 'male', 'age': 10} 如果字典为空,可以通过直接赋值的方式新增 key:
d = {}d['x'] = 1print(d) 执行后,输出结果为:
{'x': 1} 字典的常用方法还有获取所有 key 的列表 keys(),所有 value 的列表 values(),以及 key-value 对的列表 items()。
print(d.keys()) # 值print(d.values()) # 键print(d.items()) # 键值对
字典的长度可以通过 len() 函数获取:
d = {'x': 1, 'y': 2}print(len(d)) 输出结果为:
2
可以通过 in 运算符判断 key 是否存在:
d = {'x': 1, 'y': 2, 'z': 3}print('x' in d) # Trueprint(1 in d.values()) # True 字典的解压可以与列表一样实现:
a, b, c, d, e = 'hello'a, *_, e = 'hello'print(a, e)
执行后,输出结果为:
h elloh ello
以上就是 Python 字典的基本使用方法和示例,希望对你有所帮助!
转载地址:http://zvafk.baihongyu.com/