Python 字典数据索引
在Python中,字典(dictionary)是一种可变容器模型,用来存储键值对(key-value pairs)。字典的键(key)是唯一的,通常是不可变的数据类型,如字符串、数字或元组;而值(value)可以是任意数据类型,甚至可以是另一个字典。在字典中,可以使用键来实现快速的数据检索和操作。
创建字典
在Python中,可以使用花括号({})来创建一个空字典,也可以使用dict()函数来创建一个字典并指定键值对。
示例代码:
# 创建一个空字典
my_dict = {}
print(my_dict)
# 创建一个包含键值对的字典
my_dict = {'name': 'David', 'age': 25, 'city': 'New York'}
print(my_dict)
运行结果:
{}
{'name': 'David', 'age': 25, 'city': 'New York'}
访问字典中的值
可以通过键来访问字典中对应的值,如果键不存在,会抛出KeyError异常。也可以使用get()方法来避免引发异常。
示例代码:
my_dict = {'name': 'David', 'age': 25, 'city': 'New York'}
# 使用键来访问对应的值
print(my_dict['name'])
print(my_dict['age'])
# 使用get()方法获取值
print(my_dict.get('city'))
print(my_dict.get('gender', 'unknown'))
运行结果:
David
25
New York
unknown
修改字典中的值
可以通过键来修改字典中对应的值。
示例代码:
my_dict = {'name': 'David', 'age': 25, 'city': 'New York'}
# 修改年龄
my_dict['age'] = 30
print(my_dict)
# 添加职业
my_dict['job'] = 'Software Engineer'
print(my_dict)
运行结果:
{'name': 'David', 'age': 30, 'city': 'New York'}
{'name': 'David', 'age': 30, 'city': 'New York', 'job': 'Software Engineer'}
删除字典中的键值对
可以使用del关键字或pop()方法删除字典中的键值对。
示例代码:
my_dict = {'name': 'David', 'age': 25, 'city': 'New York'}
# 删除年龄键值对
del my_dict['age']
print(my_dict)
# 使用pop()方法删除城市键值对
city = my_dict.pop('city')
print(my_dict)
print(city)
运行结果:
{'name': 'David', 'city': 'New York'}
{'name': 'David'}
New York
遍历字典
可以使用for循环来遍历字典中的键值对,也可以通过keys()、values()和items()方法来遍历字典的键、值和键值对。
示例代码:
my_dict = {'name': 'David', 'age': 25, 'city': 'New York'}
# 遍历字典的键
for key in my_dict.keys():
print(key)
# 遍历字典的值
for value in my_dict.values():
print(value)
# 遍历字典的键值对
for key, value in my_dict.items():
print(f'{key}: {value}')
运行结果:
name
age
city
David
25
New York
name: David
age: 25
city: New York
使用字典解析
类似于列表解析,Python还支持字典解析,可以方便地生成新的字典。
示例代码:
my_dict = {'name': 'David', 'age': 25, 'city': 'New York'}
# 生成新的字典,将所有键转为大写
new_dict = {k.upper(): v for k, v in my_dict.items()}
print(new_dict)
# 过滤出值为字符串类型的键值对
filtered_dict = {k: v for k, v in my_dict.items() if isinstance(v, str)}
print(filtered_dict)
运行结果:
{'NAME': 'David', 'AGE': 25, 'CITY': 'New York'}
{'name': 'David', 'city': 'New York'}
通过以上介绍,我们了解了如何创建字典、访问和修改字典中的值、删除字典中的键值对、遍历字典以及使用字典解析。