1. 字典的概念和基本操作
字典(dictionary)是Python内置的一种数据类型,用于存储键-值对(key-value pairs)。字典中的每个键(key)都唯一,可以对应一个值(value),键和值之间用冒号(:)分隔,键-值对之间用逗号(,)分隔,整个字典用大括号({})括起来。
字典的基本操作包括创建字典、访问字典中的值、修改字典中的值、删除字典中的键-值对、遍历字典等。
1.1 创建字典
创建字典的方法主要有两种:
直接在代码中用大括号括起来,键和值之间用冒号分隔
使用dict()函数,可以将一个包含键值对的序列转换成字典
下面是两种方法的示例代码:
# 直接创建字典
dic1 = {'name': 'John', 'age': 18, 'gender': 'male'}
# 使用dict()函数创建字典
dic2 = dict([('name', 'Amy'), ('age', 20), ('gender', 'female')])
以上代码分别创建了两个字典,使用print()函数输出它们的值:
print(dic1) # {'name': 'John', 'age': 18, 'gender': 'male'}
print(dic2) # {'name': 'Amy', 'age': 20, 'gender': 'female'}
可以看到,输出的是以大括号括起来的键-值对,其中键和值之间用冒号分隔,不同的键-值对之间用逗号分隔。
1.2 访问字典中的值
访问字典中的值需要通过键来实现,可以使用中括号([])来访问,也可以使用get()方法。如果访问一个不存在的键,使用中括号([])会抛出异常,而使用get()方法则返回None。
下面是两种方法的示例代码:
# 访问字典中的值(使用中括号)
print(dic1['name']) # John
# 访问字典中的值(使用get()方法)
print(dic1.get('age')) # 18
# 访问一个不存在的键(使用中括号)
print(dic1['job']) # KeyError: 'job'
# 访问一个不存在的键(使用get()方法)
print(dic1.get('job')) # None
可以看到,在访问存在的键时,两种方法的结果都是一样的;而在访问不存在的键时,直接使用中括号([])的方式会抛出异常,而使用get()方法则返回None。
1.3 修改字典中的值
修改字典中的值可以直接使用中括号([])来修改,也可以使用update()方法来实现。
下面是两种方法的示例代码:
# 修改字典中的值(使用中括号)
dic1['age'] = 20
print(dic1) # {'name': 'John', 'age': 20, 'gender': 'male'}
# 修改字典中的值(使用update()方法)
dic1.update({'gender': 'female'})
print(dic1) # {'name': 'John', 'age': 20, 'gender': 'female'}
可以看到,无论是使用中括号([])还是使用update()方法,都可以完成修改字典中的值的操作。
1.4 删除字典中的键-值对
删除字典中的键-值对可以使用del语句,也可以使用pop()方法。使用del语句删除键-值对时,如果删除的键不存在,会抛出异常;而使用pop()方法删除键-值对时,如果删除的键不存在,不会抛出异常。
下面是两种方法的示例代码:
# 删除字典中的键-值对(使用del语句)
del dic1['gender']
print(dic1) # {'name': 'John', 'age': 20}
# 删除字典中的键-值对(使用pop()方法)
dic1.pop('age')
print(dic1) # {'name': 'John'}
可以看到,无论是使用del语句还是使用pop()方法,都可以完成删除字典中键-值对的操作。
1.5 遍历字典
遍历字典有多种方法,其中最常用的方法是使用items()方法来遍历,items()方法返回字典中所有键-值对的元组,可以通过for循环来遍历。
下面是示例代码:
# 遍历字典(使用items()方法)
for key, value in dic1.items():
print(key, value)
以上代码会依次输出字典中每个键-值对的键和值。
2. 字典的常用方法
除了基本操作之外,字典还有很多常用方法,包括:
keys()方法:返回字典中所有键的列表
values()方法:返回字典中所有值的列表
clear()方法:清空字典
copy()方法:返回字典的副本
fromkeys()方法:创建一个新字典,包含指定的键和默认值
2.1 keys()方法
keys()方法返回字典中所有键的列表。
下面是示例代码:
# 使用keys()方法遍历字典中的键
for key in dic1.keys():
print(key)
以上代码会依次输出字典中每个键。
2.2 values()方法
values()方法返回字典中所有值的列表。
下面是示例代码:
# 使用values()方法遍历字典中的值
for value in dic1.values():
print(value)
以上代码会依次输出字典中每个值。
2.3 clear()方法
clear()方法可以清空字典。
下面是示例代码:
# 使用clear()方法清空字典
dic1.clear()
print(dic1) # {}
可以看到,使用clear()方法清空字典会将字典中所有键-值对清空,将字典变为空字典。
2.4 copy()方法
copy()方法可以返回字典的副本。
下面是示例代码:
# 使用copy()方法复制字典
dic2 = dic1.copy()
print(dic1) # {}
print(dic2) # {}
可以看到,使用copy()方法可以复制字典。
2.5 fromkeys()方法
fromkeys()方法可以创建一个新字典,其中包含指定的键和默认值。
下面是示例代码:
# 使用fromkeys()方法创建新字典
dic3 = dict.fromkeys(['name', 'age', 'gender'], 'unknown')
print(dic3) # {'name': 'unknown', 'age': 'unknown', 'gender': 'unknown'}
可以看到,使用fromkeys()方法可以创建一个新字典,其中每个键都对应同一个默认值。
3. 总结
本文介绍了Python字典的概念和基本操作,包括创建字典、访问字典中的值、修改字典中的值、删除字典中的键-值对、遍历字典等。除了基本操作,还介绍了字典的常用方法,包括keys()方法、values()方法、clear()方法、copy()方法、fromkeys()方法。