Python中的字典是一种非常有用的数据类型,它可以用于存储键值对。字典中的键是唯一的,并且只能使用不可变的数据类型,如字符串、数字或元组作为键。在本篇文章中,我们将介绍Python字典类型的常见操作及其内置方法。
Python 有一组可用于字典的内置方法:
方法 | 描述 |
---|---|
clear | 从字典中删除所有元素 |
copy | 返回指定字典的副本。 |
get | 返回具有指定键的项目的值。 |
items | 返回一个视图对象。视图对象包含字典的键值对,作为列表中的元组。 |
keys | 返回一个视图对象。视图对象包含字典的键,作为列表。 |
pop | 从字典中删除指定的项目,并返回该元素的值。 |
popitem | 返回工具有指定键和值得的字典。 |
setdefault | 返回指定键的值,如果键不存在,则将键插入字符串并返回指定的默认值。 |
update | 使用一个字典中的键值更新另一个字典。 |
values | 返回字典中所有有价值的列表。 |
创建字典
在Python中,可以使用花括号{}来创建一个空字典,也可以使用键值对来初始化字典。以下是几个创建字典的示例:
# 创建一个空字典
my_dict = {
}
# 创建一个包含三个键值对的字典
my_dict = {
'apple': 2, 'banana': 3, 'orange': 4}
访问字典
可以使用方括号操作符来访问字典中的值,其中方括号内为键名。如果键名不存在,会抛出KeyError异常。
# 访问字典中的值
my_dict = {
'apple': 2, 'banana': 3, 'orange': 4}
print(my_dict['apple']) # 输出2
# 访问不存在的键
# print(my_dict['pear']) # KeyError: 'pear'
可以使用get()方法来访问字典中的值,如果键名不存在,则返回默认值。如果未指定默认值,则返回None。
# 使用get()方法访问字典中的值
my_dict = {
'apple': 2, 'banana': 3, 'orange': 4}
print(my_dict.get('apple')) # 输出2
# 访问不存在的键
print(my_dict.get('pear')) # 输出None
# 使用get()方法访问不存在的键,返回默认值
print(my_dict.get('pear', 0)) # 输出0
添加和修改字典
可以使用方括号操作符来添加和修改字典中的值,其中方括号内为键名。
# 添加和修改字典中的值
my_dict = {
'apple': 2, 'banana': 3, 'orange': 4}
my_dict['apple'] = 5 # 修改键'apple'的值
my_dict['pear'] = 6 # 添加键'pear'的值
print(my_dict) # 输出{'apple': 5, 'banana': 3, 'orange': 4, 'pear': 6}
删除字典
可以使用del语句来删除字典中的键值对或整个字典。
# 删除字典中的键值对
my_dict = {
'apple': 2, 'banana': 3, 'orange': 4}
del my_dict['apple'] # 删除键'apple'的值
print(my_dict) # 输出{'banana': 3, 'orange': 4}
# 删除整个字典
del my_dict
# print(my_dict) # NameError: name 'my_dict' is not defined
常用字典方法
clear()
该方法用于删除字典内的所有元素。
# 示例
my_dict = {
'name': 'Alice', 'age': 25, 'city': 'New York'}
my_dict.clear()
print(my_dict) # 输出 {}
Copy
该方法用于返回字典的浅复制(shallow copy)
# 示例
my_dict = {
'name': 'Alice', 'age': 25, 'city': 'New York'}
new_dict = my_dict.copy()
print(new_dict) # 输出 {'name': 'Alice', 'age': 25, 'city': 'New York'}
get()
get(key, default=None)
方法用于返回指定键的值。如果键不存在于字典中,则返回默认值。
# 示例
my_dict = {
'name': 'Alice', 'age': 25, 'city': 'New York'}
print(my_dict.get('name')) # 输出 'Alice'
print(my_dict.get('gender', 'Unknown')) # 输出 'Unknown'
items()
该方法返回字典的键值对,以元组形式存储。
# 示例
my_dict = {
'name': 'Alice', 'age': 25, 'city': 'New York'}
print(my_dict.items()) # 输出 dict_items([('name', 'Alice'), ('age', 25), ('city', 'New York')])
keys()
该方法返回字典的所有键。
# 示例
my_dict = {
'name': 'Alice', 'age': 25, 'city': 'New York'}
print(my_dict.keys()) # 输出 dict_keys(['name', 'age', 'city'])
pop()
pop(key[, default])
方法用于删除并返回指定键对应的值。如果键不存在,则返回默认值。如果省略了默认值,则会触发 KeyError。
# 示例
my_dict = {
'name': 'Alice', 'age': 25, 'city': 'New York'}
name = my_dict.pop('name')
print(name) # 输出 'Alice'
print(my_dict) # 输出 {'age': 25, 'city': 'New York'}
popitem()
popitem()
方法用于删除并返回字典中的一对键值对,以(键,值)的形式返回。如果字典为空,则触发 KeyError。
# 示例
my_dict = {
'name': 'Alice', 'age': 25, 'city': 'New York'}
item = my_dict.popitem()
print(item) # 输出 ('city', 'New York')
print(my_dict) # 输出 {'name': 'Alice', 'age': 25}
setdefault()
setdefault(key[, default])
方法用于返回指定键对应的值。如果键不存在,则插入一个指定的键值对,其中值为默认值(如果指定了)。
# 示例
my_dict = {
'name': 'Alice', 'age': 25}
gender = my_dict.setdefault('gender', 'Unknown')
print(gender) # 输出 'Unknown'
print(my_dict) # 输出 {'name': 'Alice', 'age': 25, 'gender': 'Unknown'}
update()
是Python字典类型的一个内置方法,用于将一个字典的键值对更新到另一个字典中。它可以接受另一个字典或可迭代对象作为参数,并将其键值对添加到原始字典中。如果有相同的键,则更新原始字典中的值。
update()方法的语法如下:
dict.update([other])
其中,dict是要更新的字典,other是要更新的字典或可迭代对象。
例如,我们有两个字典:
dict1 = {
"apple": 2, "banana": 3, "orange": 4}
dict2 = {
"orange": 5, "peach": 6}
我们可以使用update()方法将dict2中的键值对更新到dict1中:
dict1.update(dict2)
执行完上面的代码后,dict1的值变为:
{
"apple": 2, "banana": 3, "orange": 5, "peach": 6}
可以看到,dict2中的键值对已经被更新到了dict1中,并且orange的值已经从4更新为5。
除了字典,update()方法还可以接受其他可迭代对象作为参数,例如列表、元组等。当传递一个可迭代对象时,它应该是一个包含键值对元组的序列。
update()方法会直接修改原始字典,而不是返回一个新的字典。如果需要创建一个新的字典并将原始字典与其他字典或可迭代对象组合起来,请使用{ dict1, dict2}语法。
总结
Python 字典是一种非常常用的数据类型,用于存储键-值对的集合。它提供了许多有用的内置方法,可以用于在字典中添加、删除、修改和访问数据。