Python 将dictionary 数据类型定义为一个无序的集合,包含key:value 对。key:value 对 (用逗号隔开) 被包裹在大括号里{} 。
字典中的每个键 必须是唯一的和不可改变的。字典的键可以是以下数据类型之一:整数、字符串、或元组。字典的键不能是一个列表,因为列表 是可变的。值可以是任何数据类型,不需要是唯一的。
如何创建一个字典?
Python 有两种方法来创建/初始化一个空的 dictionary 对象。一种是使用大括号{} ,另一种是使用内置的 [dict()](https://blog.finxter.com/python-dict/ "Python dict() — A Simple Guide with Video")构造函数方法。在本教程中,将参考大括号{} 选项。
composers = {}
composers = dict()
在某些情况下,你可能想创建一个字典,并用key:value 数据来初始化它。下面的例子是一个古典作曲家和他们各自的出生年份的小表示法。
字典可以在同一结构内处理各种数据类型(如上所述)。例如,如果我们增加了一个键(整数 2),并给这个键赋值(字符串'test' ),字典就会被更新,不会有任何错误。然而,我们建议,为了清楚起见,最初的结构设计保持不变。
composers = {'Chopin': 1810,
'Greeg': 1843,
'Handel': 1684,
'Mozart': 1756
}
如何向字典中添加一个键值对?
要在字典中增加一个新的key:value 对,在字典引用的末尾,在方括号内增加一个key。用等 号(=)给这个键分配一个值。
下面的代码添加了作曲家巴赫和他的出生年份,并显示了输出。
composers['Bach'] = 1685
print(composers)
输出
{'Chopin': 1810, 'Greeg': 1843, 'Handel': 1684, 'Mozart': 1756, 'Bach': 1685}
如何替换字典中的一个键?
要在现有的键:值对中替换一个键,使用pop() 方法。这个方法用一个新的键来更新一个现有的字典键。
在前面创建的词典composers 中,Grieg(Greeg) 的拼写包含一个输入错误。运行这段代码后,在下面的输出中,该键反映了正确的名字。
composers['Grieg'] = composers.pop('Greeg')
print(composers)
输出
{'Chopin': 1810, 'Handel': 1684, 'Mozart': 1756, 'Bach': 1732, 'Grieg': 1843}
如何替换字典中的一个值?
要替换现有的键:值对中的一个值,在字典(composers)引用的末尾,在方括号内指定要替换的键。使用等号(=)指定一个不同的值。下面的代码改变了作曲家Handel的不正确的出生年份。
composers['Handel'] = 1685
print(composers)
输出
{'Chopin': 1810, 'Handel': 1685, 'Mozart': 1756, 'Bach': 1732, 'Grieg': 1843}
如何检索与一个键相关的值?
要检索一个与特定的现有字典键相关的值,创建一个变量(x)并将这个变量分配给相应的键。 如果该键不存在,就会发生错误。x的值(肖邦的出生年份)被显示出来。
x = composers['Chopin']
print(composers)
输出
1810
如何删除字典中的键值对?
要删除一个不需要的字典键:值对,请使用 pop() 方法。pop()里面的参数必须是一个现有的字典键,否则会发生错误。输出显示修改后的字典,其中删除了作曲家Mozart。
composers.pop('Mozart')
print(composers)
输出
{'Chopin': 1810, 'Handel': 1685, 'Bach': 1732, 'Grieg': 1843}