Python基础之字典的详细使用教程

  • Post category:Python

Python基础之字典的详细使用教程

什么是字典

字典是Python中内置的一种数据结构。它是由一系列键和值组成的无序集合,其中每个键都对应一个值。字典用{}dict()创建,示例代码如下:

# 创建一个字典
my_dict = {'apple': 2, 'orange': 3, 'banana': 4}
print(my_dict)
# 输出:{'apple': 2, 'orange': 3, 'banana': 4}

其中'apple''orange''banana'是键(key),234是值(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中字典的详细使用教程,希望对读者有所帮助。