
1.8.1 字典的基本操作
字典的基本操作包括创建字典、删除字典、查看字典元素、遍历字典元素等。
1.创建字典
字典的创建方法有很多种,比较常见的有:
(1)通过给定的键-值对以直接赋值的方式创建
# 创建方法1:通过给定键-值对以直接赋值的方式来创建字典 dict1={'x':1,'y':2,'z':3} # 通过给定键-值对以直接赋值的方式创建字典dict1 print(dict1) # 查看字典dict1。运行结果为:{'x': 1, 'y': 2, 'z': 3} dict={ } # 生成空字典dict print(dict) # 查看空字典dict。运行结果为:{}
(2)通过映射函数的方式创建
# 创建方法2:通过映射函数的方式来创建字典 list1 = ['x', 'y', 'z'] # 创建列表list1 list2 = [1, 2, 3] # 创建列表list2 dict2 = dict(zip(list1, list2)) # zip函数的作用是将多个列表或元组对应位置的元素组合为元组,并返回包 含这些内容的zip对象,本例中先通过zip()函数将列表list1和list2组合为元组,再调用dict()函数生成字典dict2 print(dict2) # 查看字典dict2。运行结果为:{'x': 1, 'y': 2, 'z': 3}
(3)将列表序列转换为字典
# 创建方法3:将列表序列转换为字典 list1=[('x',1), ('y',2), ('z',3)] # 创建列表list1 dict3=dict(list1) # 将列表list1转换为字典dict3 print(dict3) # 查看字典dict3。运行结果为:{'x': 1, 'y': 2, 'z': 3}
(4)通过已经存在的元组和列表创建字典
# 创建方法4:通过已经存在的元组和列表来创建字典 tuple1 = ('x', 'y', 'z') # 创建元组tuple1 list1 = [1, 2, 3] # 创建列表list1 dict4 = {tuple1:list1} # 生成字典dict4,键为tuple1,值为list1 print(dict4) # 查看字典dict4。运行结果为:{('x', 'y', 'z'): [1, 2, 3]}
(5)定义字典
# 创建方法5:定义字典的另一种方式 dict5=dict(x=1,y=2,z=3) # 创建字典dict5 print(dict5) # 查看字典dict5。运行结果为:{'x': 1, 'y': 2, 'z': 3}
2.删除字典
删除字典可以用del dict、dict.clear()、dict.pop()、dict.popitem()来实现。
(1)del dict
del dict用于删除整个字典,比如输入以下代码并逐行运行:
dict1={'x':1,'y':2,'z':3} # 创建字典dict1 del dict1 # 删除字典dict1 dict1 # 查看字典dict1是否存在
系统会提示错误,因为字典dict1不存在。
(2)dict.clear()
dict.clear()用于清除字典内的所有元素(所有的键-值对),如果针对某字典执行该函数,那么被执行的字典将会变成空字典。示例如下,输入以下代码并逐行运行:
dict1={'x':1,'y':2,'z':3} # 创建字典dict1 dict1.clear() # 清除字典dict1内的所有元素 dict1 # 查看字典dict1。运行结果为:{}
(3)dict.pop()
dict.pop()函数返回指定键对应的值,并在原字典中删除这个键-值对。示例如下,输入以下代码并逐行运行:
dict1={'x':1,'y':2,'z':3} # 创建字典dict1 x=dict1.pop('x') # 返回指定键'x'对应的值,并在原字典中删除这个键-值对 print(x) # 查看指定键'x'对应的值,运行结果为1 print(dict1) # 查看字典dict1。运行结果为:{'y': 2, 'z': 3}
(4)dict.popitem()
dict.popitem()函数删除字典中的最后一个键-值对,并返回该键-值对。示例如下,输入以下代码并逐行运行:
dict1={'x':1,'y':2,'z':3} # 创建字典dict1 dict1.popitem() # 删除字典dict1中的最后一个键-值对,并返回该键-值对,运行结果为('z', 3) print(dict1) # 查看字典dict1。运行结果为:{'x': 1, 'y': 2}
3.查看字典元素
(1)通过键-值对查看字典元素
字典通过键而不是索引来读取元素。我们可以通过键-值对来查看字典元素。示例如下,输入以下代码并逐行运行:
dict1={'x':1,'y':2,'z':3} # 创建字典dict1 print(dict1['y']) # 查看字典dict1中键'y'对应的值。运行结果为:2
(2)dict.get()
dict.get()函数用于返回指定键的值,如果键不在字典中,则不会返回值,也可以为键指定值,在指定值的情况下,返回的是指定值。比如输入以下代码并逐行运行:
dict1={'x':1,'y':2,'z':3} # 创建字典dict1 x= dict1.get('x') # 将字典dict1中键'x'对应的值赋值给变量x x # 输出x的值,运行结果为1 w= dict1.get('w') # 将字典dict1中键'w'对应的值赋值给w w # 输出w的值,运行结果为无输出,因为字典dict1中没有键'w' w= dict1.get('w',4) # 将字典dict1中键'w'对应的值设置为4,并把该值赋值给变量w w # 输出w的值,运行结果为4
4.遍历字典元素
(1)dict.items()
dict.items()函数以列表形式返回可遍历的(键,值)元组数组,或者说获取字典中的所有键-值对。示例如下,输入以下代码并逐行运行:
dict1={'x':1,'y':2,'z':3} # 创建字典dict1 print(dict1.items()) # 获取并输出字典dict1中的所有键-值对。运行结果为:dict_items([('x', 1), ('y', 2), ('z', 3)])
(2)dict.keys()
dict.keys()函数以列表形式返回字典中所有的键。示例如下,输入以下代码并逐行运行:
dict1={'x':1,'y':2,'z':3} # 创建字典dict1 print(dict1.keys()) # 以列表形式返回字典dict1中所有的键。运行结果为:dict_keys(['x', 'y', 'z'])
(3)dict.values()
dict.values()以列表形式返回字典中的所有值。示例如下,输入以下代码并逐行运行:
dict1={'x':1,'y':2,'z':3} # 创建字典dict1 print(dict1.values()) # 以列表形式返回字典dict1中所有的值。运行结果为:dict_values([1, 2, 3])