1. 基本介绍
在Python中,字典是一种映射类型的数据结构,用{ }来表示。也就是说,字典中的每一个元素都是由一个键和一个值组成,其中键是唯一的,值可以重复。简单来说,字典就是一个无序的键值对集合,可以通过键来访问对应的值。
字典的基本形式:
dict = {key1:value1, key2:value2, key3:value3}
注: 字典中的键是唯一的,如果同一个键出现两次,则只有第一个键值对被保留,后面的将会被忽略。
2. 字典的操作
2.1 字典元素的访问
通过键名(key)可以访问字典的元素值(value),即:字典名[key]。如果key不存在,则会抛出异常。不过也可以调用字典的get()
方法来访问指定的键值,默认情况下,如果访问不存在的键时,get()
方法会返回None值。如果指定了第二个参数,则返回该参数。例如:
dict = {'Name': 'Tom', 'Age': 20, 'Sex': 'male'}
# 访问键值
print(dict['Name']) # 输出 Tom
# 访问不存在的键时,抛出KeyError异常
print(dict['xxx']) # 报错 KeyError: 'xxx'
# 使用get()方法访问键值
print(dict.get('Name')) # 输出 Tom
print(dict.get('xxx')) # 输出 None
print(dict.get('xxx', "没有这个键")) # 输出 没有这个键
2.2 字典元素的修改和添加
如果想修改字典中的元素,则直接通过键来引用该元素,并重新赋值即可。如果元素不存在,则在字典中会新增该元素。
dict = {'Name': 'Tom', 'Age': 20, 'Sex': 'male'}
# 修改已有键的值
dict['Age'] = 21
print(dict) # 输出 {'Name': 'Tom', 'Age': 21, 'Sex': 'male'}
# 新增键值
dict['School'] = 'Beijing University'
print(dict) # 输出 {'Name': 'Tom', 'Age': 21, 'Sex': 'male', 'School': 'Beijing University'}
2.3 字典元素的删除
可以使用del
语句来删除字典中指定的键值对。另外,字典也有自带的删除方法pop()
,它可以弹出指定键的键值对。如果指定的键不存在,则返回一个默认值。
dict = {'Name': 'Tom', 'Age': 20, 'Sex': 'male'}
# 删除键是'Name'的元素
del dict['Name']
print(dict) # 输出 {'Age': 20, 'Sex': 'male'}
# 使用pop()方法删除键是'Age'的元素
dict.pop('Age')
print(dict) # 输出 {'Sex': 'male'}
# 删除不存在的键,报错
del dict['xxx'] # 报错 KeyError: 'xxx'
# 使用pop()方法删除不存在的键
dict.pop('xxx', "这个键不存在") # 输出 这个键不存在
3. 其他常用方法
3.1 字典的长度
使用 len()
来获取字典元素的数量。
dict = {'Name': 'Tom', 'Age': 20, 'Sex': 'male'}
print(len(dict)) # 输出 3
3.2 字典的键值查找
keys()
方法和values()
方法可以分别返回字典中所有的键和值。如果需要获取键值对,可以使用items()
方法,该方法会返回包含字典所有(键, 值)元组的列表。
dict = {'Name': 'Tom', 'Age': 20, 'Sex': 'male'}
# 获取所有的键
print(dict.keys()) # 输出 dict_keys(['Name', 'Age', 'Sex'])
# 获取所有的值
print(dict.values()) # 输出 dict_values(['Tom', 20, 'male'])
# 获取所有的(键, 值)元组
print(dict.items()) # 输出 dict_items([('Name', 'Tom'), ('Age', 20), ('Sex', 'male')])
3.3 字典的遍历
字典是一个非常常用的数据类型,我们需要经常遍历它。字典可以通过for
循环遍历,例如:
dict = {'Name': 'Tom', 'Age': 20, 'Sex': 'male'}
for key in dict:
print(key, dict[key])
也可以使用items()
方法来实现遍历:
dict = {'Name': 'Tom', 'Age': 20, 'Sex': 'male'}
for key,value in dict.items():
print(key,value)
3.4 字典生成式
在Python中,我们经常需要生成一个新的字典,可以使用字典生成式来实现。具体实现方式与列表生成式相似,只不过表达式用的是键值对。
# 生成一个key从1到10,value为key的平方的字典
dict = {x: x**2 for x in range(1,11)}
print(dict)
总结:
字典是Python中非常常见的数据类型,应用十分广泛。本文主要介绍了字典的定义和常见操作,包括字典元素的访问、修改、添加、删除,以及其他常用的方法如字典的长度、键值查找、遍历以及字典生成式的实现。