字典包含多个 key-value 对,而 key 是字典的关键数据,因此程序对字典的操作都是基于 key 的。基本操作如下:通过 key 访问 value 。
通过 key 添加 key-value 对。
通过 key 删除 key-value 对。
通过 key 修改 key-value 对。
通过 key 判断指定 key-value 对是否存在。
通过 key 访问 value 使用的也是方括号语法,就像前面介绍的列表和元组一样,只是此时在方括号中放的是 key,而不是列表或元组中的索引。
如下代码示范了通过 key 访问 value:scores = {'语文': 89}
# 通过key访问value
print(scores['语文'])
如果要为 dict 添加 key-value 对,只需为不存在的 key 赋值即可:# 对不存在的key赋值,就是增加key-value对
scores['数学'] = 93
scores[92] = 5.7
print(scores) # {'语文': 89, '数学': 93, 92: 5.7}
如果要删除宇典中的 key-value 对,则可使用 del 语句。例如如下代码:# 使用del语句删除key-value对
del scores['语文']
del scores['数学']
print(scores) # {92: 5.7}
如果对 dict 中存在的 key-value 对赋值,新赋的 value 就会覆盖原有的 value,这样即可改变 dict 中的 key-value 对。例如如下代码:cars = {'BMW': 8.5, 'BENS': 8.3, 'AUDI': 7.9}
# 对存在的key-value对赋值,改变key-value对
cars['BENS'] = 4.3
cars['AUDI'] = 3.8
print(cars) # {'BMW': 8.5, 'BENS': 4.3, 'AUDI': 3.8}
如果要判断字典是否包含指定的 key,则可以使用 in 或 not in 运算符。需要指出的是,对于 dict 而言,in 或 not in 运算符都是基于 key 来判断的。例如如下代码:# 判断cars是否包含名为'AUDI'的key
print('AUDI' in cars) # True
# 判断cars是否包含名为'PORSCHE'的key
print('PORSCHE' in cars) # False
print('LAMBORGHINI' not in cars) # True
通过上面介绍可以看出,字典的 key 是它的关键。换个角度来看,字典的 key 就相当于它的索引,只不过这些索引不一定是整数类型,
字典的 key 可以是任意不可变类型。