字典(dict)是可迭代的、可变的数据结构,通过键来访问元素。字典结构比较复杂,它是由两部分视图构成的,一个是键(key)视图,另一个是值(value)视图。键视图不能包含重复元素,而值集合可以,键和值是成对出现的。
图1-15 字典结构的“国家代号”
图1-15所示的是字典结构的“国家代号”。键是国家代号,值是国家。
提示 字典更适合通过键快速访问值,就像查英文字典一样,键就是要查的英文单词,而值是英文单词的翻译和解释等内容。有的时候,一个英文单词会对应多个翻译和解释,这也是与字典特性相对应的。
字典可以使用以下两种方式创建。
使用大括号{}包裹键值对创建字典。
使用dict()函数创建字典。
示例代码如下。
示例代码运行后,输出结果如下。
代码解释如下。
代码第①行通过大括号{}包裹键值对创建字典对象。
代码第②行通过len函数获得字典的长度。
代码第③行创建空的字典对象,注意{}是创建一个空的字典对象,而不创建集合对象。
代码第④行通过type函数获得字典对象dict3的数据类型。
因为字典包含了键和值两个不同的结构,所以字典推导式结果可以非常灵活,语法结构如图1-16所示。
图1-16 字典推导式
字典推导式示例代码如下。
示例代码运行后,输出结果如下。
代码解释如下。
代码第①行是字典推导式,注意输入结构不能直接使用字典,因为字典不是序列,可以通过字典的item()方法返回字典中键值对序列。
代码第②行是字典推导式,但只返回键结构。