字典操作函数:添加、删除和修改键值对
发布时间:2023-06-06 03:06:20
字典是Python中一个非常有用的数据结构。它由一对花括号{}包裹,每个键值对由键和对应的值组成,用冒号分隔。字典的键必须是 的,而值则可以是任何数据类型,包括列表、元组、字符串、整数或其他字典。
在Python中,你可以使用多种操作来添加、删除和修改字典的键值对。下面我们将依次进行讲解。
一、添加键值对
1. 直接定义:创建一个空字典,然后将键值对添加到其中。
#创建字典,然后添加键值对
my_dict = {}
my_dict['name'] = 'Tom'
my_dict['age'] = 20
my_dict['gender'] = 'male'
print(my_dict)
输出
{'name': 'Tom', 'age': 20, 'gender': 'male'}
2.使用update()方法:update()方法可以在字典中添加一个或多个键值对。
#使用update()方法添加键值对
my_dict = {'name':'Tom', 'age':20}
my_dict.update({'gender':'male', 'hobby':'reading'})
print(my_dict)
输出
{'name': 'Tom', 'age': 20, 'gender': 'male', 'hobby': 'reading'}
在使用update()方法时,如果键已经存在,则会覆盖原有的值。
#使用update()方法修改键值对
my_dict = {'name': 'Tom', 'age': 20}
my_dict.update({'name': 'Jerry', 'gender': 'male'})
print(my_dict)
输出
{'name': 'Jerry', 'age': 20, 'gender': 'male'}
二、删除键值对
1.使用del语句删除键值对:del语句可以删除指定的键和对应的值。
#使用del语句删除键值对
my_dict = {'name': 'Tom', 'age': 20, 'gender': 'male'}
del my_dict['gender']
print(my_dict)
输出
{'name': 'Tom', 'age': 20}
2.使用pop()方法删除键值对:pop()方法可以删除指定的键和对应的值,并返回被删除的值。
#使用pop()方法删除键值对
my_dict = {'name': 'Tom', 'age': 20}
age = my_dict.pop('age')
print(my_dict)
print(age)
输出
{'name': 'Tom'}
20
在使用pop()方法时,如果指定的键不存在,则会抛出KeyError异常。如果你不想抛出异常,可以使用pop()方法的第二个参数,指定一个默认值。
#使用pop()方法删除不存在的键值对
my_dict = {'name': 'Tom', 'age': 20}
gender = my_dict.pop('gender', 'unknown')
print(gender)
输出
unknown
三、修改键值对
1.直接修改:可以通过索引方式,修改指定键的对应值。
#直接修改键值对
my_dict = {'name': 'Tom', 'age': 20}
my_dict['age'] += 1
print(my_dict)
输出
{'name': 'Tom', 'age': 21}
2.使用update()方法修改键值对:update()方法也可以修改指定键的对应值。
#使用update()方法修改键值对
my_dict = {'name': 'Tom', 'age': 20}
my_dict.update({'name': 'Jerry', 'age': 21})
print(my_dict)
输出
{'name': 'Jerry', 'age': 21}
如果指定的键不存在,则会新增一个键值对。
#使用update()方法添加不存在的键值对
my_dict = {'name': 'Tom', 'age': 20}
my_dict.update({'gender': 'male', 'hobby': 'reading'})
print(my_dict)
输出
{'name': 'Tom', 'age': 20, 'gender': 'male', 'hobby': 'reading'}
缺省情况下,update()方法添加键值对的顺序是不确定的。如果你希望按照指定顺序添加,可以使用OrderedDict来代替普通字典。
以上就是Python中常用的字典操作函数:添加、删除和修改键值对。字典除了以上常用操作,还涉及很多使用技巧,我们下次再来介绍。
