一、字典简介
Python 中的字典(Dictionary)是一种可变容器,用于存储键值对(key-value pairs)。
字典可以通过键(key)快速查找值(value),并支持添加、修改和删除元素等操作。由于字典底层是通过哈希表实现的,所以查找速度非常快,适用于需要频繁查询键值对的场景。
# 字典定义
dict = {'name': '张三', 'age': 28, 'address': '北京市海淀区'}
# 访问字典元素
print(dict['name'])  # 输出结果为:张三
print(dict['address']) # 输出结果为:北京市海淀区
在字典中,键必须是唯一的、不可变的对象,如数字、字符串和元组等。值可以是任意对象。
二、字典操作
1. 添加和修改元素
可以通过字典的键来添加新值或修改已有值。
# 添加新元素
dict = {'name': '张三', 'age': 28}
dict['address'] = '北京市海淀区'
print(dict)  # 输出结果为:{'name': '张三', 'age': 28, 'address': '北京市海淀区'}
# 修改元素值
dict['age'] = 29
print(dict)  # 输出结果为:{'name': '张三', 'age': 29, 'address': '北京市海淀区'}
2. 删除元素
可以通过 del 语句来删除字典指定的元素。
# 删除元素
dict = {'name': '张三', 'age': 28, 'address': '北京市海淀区'}
del dict['address']
print(dict)  # 输出结果为:{'name': '张三', 'age': 28}
3. 字典方法
Python 字典还提供了一系列方法,用于操作字典元素。
- keys():返回字典中所有的键。
- values():返回字典中所有的值。
- items():返回字典中所有的键值对。
- clear():清空字典。
# 字典方法示例
dict = {'name': '张三', 'age': 28, 'address': '北京市海淀区'}
print(dict.keys())     # 输出结果为:dict_keys(['name', 'age', 'address'])
print(dict.values())   # 输出结果为:dict_values(['张三', 28, '北京市海淀区'])
print(dict.items())    # 输出结果为:dict_items([('name', '张三'), ('age', 28), ('address', '北京市海淀区')])
dict.clear()
print(dict)            # 输出结果为:{}
三、实际应用场景
1. 计数器
字典可以作为计数器来记录每个元素出现的次数。
# 计数器示例
str = 'hello,world'
dict = {}
for i in str:
    dict[i] = dict.get(i, 0) + 1
print(dict)  # 输出结果为:{'h': 1, 'e': 1, 'l': 3, 'o': 2, ',': 1, 'w': 1, 'r': 1, 'd': 1}
2. 数据映射
字典可以用于实现数据映射,例如将数据库查询结果映射为字典。
# 数据映射示例
fields = ['name', 'age', 'gender']
values = ['张三', 28, '男']
dict = {fields[i]:values[i] for i in range(len(fields))}
print(dict)  # 输出结果为:{'name': '张三', 'age': 28, 'gender': '男'}
3. 缓存
字典可以用于缓存计算结果,提升程序性能。
# 缓存示例
dict = {}
def calc(x):
    if x in dict:
        return dict[x]
    else:
        result = x * x
        dict[x] = result
        return result
print(calc(2))  # 输出结果为:4
print(calc(3))  # 输出结果为:9
print(calc(2))  # 输出结果为:4,从缓存中读取结果
四、总结
Python 字典提供了一种高效的数据结构,可用于存储键值对,实现快速查找和操作。在实际应用中,字典可以用于计数器、数据映射、缓存等多种场景。
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/304262.html
 
 微信扫一扫
微信扫一扫  支付宝扫一扫
支付宝扫一扫 