Python基础之字典的详细使用教程
什么是字典
字典是Python中内置的一种数据结构。它是由一系列键和值组成的无序集合,其中每个键都对应一个值。字典用{}
或dict()
创建,示例代码如下:
# 创建一个字典
my_dict = {'apple': 2, 'orange': 3, 'banana': 4}
print(my_dict)
# 输出:{'apple': 2, 'orange': 3, 'banana': 4}
其中'apple'
、'orange'
、'banana'
是键(key),2
、3
、4
是值(value)。键和值之间用冒号:
分割,每一项之间用逗号,
隔开。也可以通过dict()
函数从键值对的列表、元组或其他字典创建字典,示例代码如下:
# 通过dict()函数创建字典
my_dict2 = dict([('apple', 2), ('orange', 3), ('banana', 4)])
print(my_dict2)
# 输出:{'apple': 2, 'orange': 3, 'banana': 4}
字典的基本操作
访问字典中的值
字典中的值可以通过键访问,示例代码如下:
# 访问字典中的值
print(my_dict['apple'])
# 输出:2
修改字典中的值
可以通过键来修改字典中的值,示例代码如下:
# 修改字典中的值
my_dict['apple'] = 3
print(my_dict)
# 输出:{'apple': 3, 'orange': 3, 'banana': 4}
添加键值对
可以通过[]
运算符来添加新的键值对,示例代码如下:
# 添加键值对
my_dict['pear'] = 5
print(my_dict)
# 输出:{'apple': 3, 'orange': 3, 'banana': 4, 'pear': 5}
删除键值对
可以使用del
语句来删除键值对,示例代码如下:
# 删除键值对
del my_dict['apple']
print(my_dict)
# 输出:{'orange': 3, 'banana': 4, 'pear': 5}
字典的遍历
遍历键
可以使用keys()
方法来遍历字典中的所有键,示例代码如下:
# 遍历字典中的键
for key in my_dict.keys():
print(key)
# 输出:orange banana pear
遍历值
可以使用values()
方法来遍历字典中的所有值,示例代码如下:
# 遍历字典中的值
for value in my_dict.values():
print(value)
# 输出:3 4 5
遍历键值对
可以使用items()
方法来遍历字典中的所有键值对,示例代码如下:
# 遍历字典中的键值对
for key, value in my_dict.items():
print(key, value)
# 输出:orange 3 banana 4 pear 5
字典的常用方法
获取所有的键
使用keys()
方法可以获取字典中的所有键,示例代码如下:
# 获取字典中的所有键
keys = my_dict.keys()
print(keys)
# 输出:dict_keys(['orange', 'banana', 'pear'])
获取所有的值
使用values()
方法可以获取字典中的所有值,示例代码如下:
# 获取字典中的所有值
values = my_dict.values()
print(values)
# 输出:dict_values([3, 4, 5])
获取所有的键值对
使用items()
方法可以获取字典中的所有键值对,示例代码如下:
# 获取字典中的所有键值对
items = my_dict.items()
print(items)
# 输出:dict_items([('orange', 3), ('banana', 4), ('pear', 5)])
示例说明
示例1:使用字典统计字符串中每个字符出现的次数
# 使用字典统计字符串中每个字符出现的次数
s = 'hello world'
counter = {}
for c in s:
if c in counter:
counter[c] += 1
else:
counter[c] = 1
print(counter)
# 输出:{'h': 1, 'e': 1, 'l': 3, 'o': 2, ' ': 1, 'w': 1, 'r': 1, 'd': 1}
示例2:使用字典实现简单的缓存
# 使用字典实现简单的缓存
cache = {}
def get_data(key):
if key in cache:
print('从缓存中获取数据')
return cache[key]
else:
print('从数据库中获取数据')
data = 'data for ' + key
cache[key] = data
return data
print(get_data('foo'))
print(get_data('foo'))
# 输出:
# 从数据库中获取数据
# data for foo
# 从缓存中获取数据
# data for foo
以上就是关于Python中字典的详细使用教程,希望对读者有所帮助。