1.字典介绍
在Python中,字典是一种用于存储键值对的数据结构,其中每个元素由一个键和与其对应的值组成。字典可以通过不同的键来快速查找和访问其对应的值,因此通常用于需要快速查找的场景中。
在字典中,键是不可变的,而值可以是任何类型的对象,包括其他字典。字典中的元素是无序的,因此不能使用索引来访问它们,而是通过键来访问。
# 定义字典
d = {'China': 'Beijing', 'Japan': 'Tokyo', 'USA': 'Washington'}
# 使用键访问值
print(d['China']) # 输出 'Beijing'
2.字典方法
Python提供了许多内置的字典方法,这些方法可以用于添加、删除、查找、修改字典中的元素,以及获取字典的长度等操作。下面是一些常用的字典方法:
2.1.clear()方法
clear()方法可以清空字典中的所有元素,并返回一个空字典。
# 定义字典
d = {'China': 'Beijing', 'Japan': 'Tokyo', 'USA': 'Washington'}
# 清空字典
d.clear()
print(d) # 输出 {}
2.2.copy()方法
copy()方法可以返回字典的一个副本。
# 定义字典
d = {'China': 'Beijing', 'Japan': 'Tokyo', 'USA': 'Washington'}
# 获取字典副本
d1 = d.copy()
print(d1) # 输出 {'China': 'Beijing', 'Japan': 'Tokyo', 'USA': 'Washington'}
2.3.fromkeys()方法
fromkeys()方法可以创建一个新的字典,其中包含指定的键和对应的值,默认值为None。
# 创建新字典,指定键值
d = {}.fromkeys(['China', 'Japan', 'USA'], 'Capital')
print(d) # 输出 {'China': 'Capital', 'Japan': 'Capital', 'USA': 'Capital'}
2.4.get()方法
get()方法可以用于查找字典中指定键的值,如果键不存在,则返回指定的默认值,如果没有指定默认值,则返回None。
# 定义字典
d = {'China': 'Beijing', 'Japan': 'Tokyo', 'USA': 'Washington'}
# 查找键对应的值
print(d.get('China')) # 输出 'Beijing'
# 查找不存在的键
print(d.get('UK', 'London')) # 输出 'London'
2.5.items()方法
items()方法可以返回字典中所有键值对的元组,这些元组可以用于遍历字典。
# 定义字典
d = {'China': 'Beijing', 'Japan': 'Tokyo', 'USA': 'Washington'}
# 遍历字典
for k, v in d.items():
print(k, v)
# 输出
# China Beijing
# Japan Tokyo
# USA Washington
2.6.keys()方法
keys()方法可以返回字典中所有键的列表。
# 定义字典
d = {'China': 'Beijing', 'Japan': 'Tokyo', 'USA': 'Washington'}
# 获取所有键
print(d.keys()) # 输出 dict_keys(['China', 'Japan', 'USA'])
2.7.values()方法
values()方法可以返回字典中所有值的列表。
# 定义字典
d = {'China': 'Beijing', 'Japan': 'Tokyo', 'USA': 'Washington'}
# 获取所有值
print(d.values()) # 输出 dict_values(['Beijing', 'Tokyo', 'Washington'])
2.8.pop()方法
pop()方法可以用于移除字典中指定键的元素,并返回对应的值。
# 定义字典
d = {'China': 'Beijing', 'Japan': 'Tokyo', 'USA': 'Washington'}
# 移除键
v = d.pop('China')
print(d) # 输出 {'Japan': 'Tokyo', 'USA': 'Washington'}
print(v) # 输出 'Beijing'
2.9.popitem()方法
popitem()方法用于随机移除并返回字典中的一个键值对,如果字典为空,则引发KeyError异常。
# 定义字典
d = {'China': 'Beijing', 'Japan': 'Tokyo', 'USA': 'Washington'}
# 移除键值对
k, v = d.popitem()
print(d) # 输出 {'China': 'Beijing', 'Japan': 'Tokyo'}
print(k, v) # 输出 'USA', 'Washington'
2.10.setdefault()方法
setdefault()方法可以用于获取指定键对应的值,如果键不存在,则可以插入一个新的键值对。
# 定义字典
d = {'China': 'Beijing', 'Japan': 'Tokyo', 'USA': 'Washington'}
# 获取键对应的值,不存在时插入新值
v = d.setdefault('UK', 'London')
print(d) # 输出 {'China': 'Beijing', 'Japan': 'Tokyo', 'USA': 'Washington', 'UK': 'London'}
print(v) # 输出 'London'
2.11.update()方法
update()方法可以将另一个字典或可迭代对象中的键值对更新到当前字典中,如果键已存在,则将当前值替换为新值。
# 定义字典
d = {'China': 'Beijing', 'Japan': 'Tokyo', 'USA': 'Washington'}
# 更新另一个字典
d1 = {'UK': 'London', 'Japan': 'Kyoto'}
d.update(d1)
print(d) # 输出 {'China': 'Beijing', 'Japan': 'Kyoto', 'USA': 'Washington', 'UK': 'London'}
2.12.len()方法
len()方法可以用于获取字典中键值对的数量。
# 定义字典
d = {'China': 'Beijing', 'Japan': 'Tokyo', 'USA': 'Washington'}
# 获取字典长度
print(len(d)) # 输出 3
3.总结
字典是Python中一种非常常用的数据结构,具有快速查找和访问键值对的优点。在Python中,字典提供了许多内置方法,包括添加、删除、查找、修改元素的操作,以及获取字典的长度等操作。在使用字典时,我们可以根据具体需求选择合适的方法来操作字典,并且可以根据需要自定义新的方法。