一、像列表一样,“ 字典”是许多值的集合。但不像列表的下标,字典的索引可以使用许多不同数据类型,不只是整数。字典的索引被称为“键”,键及其关联的值称为“键-值”对。 在代码中,字典输入时带花括号{}。例如:
Cat = {'size': 'fat', 'color': 'gray', 'disposition': 'loud'}
这个字典的键是'size'、'color'和'disposition'。这些键相应的值是'fat'、'gray'和'loud'。可以通过它们的键访问这些值:
字典仍然可以用整数值作为键,就像列表使用整数值作为下标一样,但它们不 必从 0 开始,可以是任何数字。
二、不像列表,字典中的表项是不排序的。因为字典是不排序的,所以不能像列表那样切片。访问字典中不存在的键,将导致 KeyError 出错信息。这很像列表的“越界” IndexError 出错信息。
尽管字典是不排序的,但可以用任意值作为键,这一点让你能够用强大的方式来 组织数据。
三、keys()、values()和 items()方法
3个字典方法,它们将返回类似列表的值,分别对应于字典的键、值和键-值对: keys()、values()和items()。
如果希望通过这些方法得到一个真正的列表,就把类似列表的返回值传递给 list 函数。
四、get()方法
字典有一 个get()方法,它有两个参数:要取得其值的键,以及如果该键不存在时,返回的备用值。
五、setdefault()方法
setdefault()方法提供了一种方式,在一行中完成这件事。传递给该方法的第一 个参数,是要检查的键。第二个参数,是如果该键不存在时要设置的值。如果该键确实存在,方法就会返回键的值。
漂亮打印模块pprint
如果程序中导入 pprint 模块,就可以使用 pprint()和pformat()函数,它们将“漂亮 打印”一个字典的字。如果想要字典中表项的显示比 print()的输出结果更干净,这就有 用了。
import pprint
message = 'You need to be a person who admire GYZB.'
count = {}
for character in message:
count.setdefault(character, 0)
count[character] = count[character] + 1
pprint.pprint(count)
当程序运行时,输出看起来更干净,键排过序。
{' ': 8,
'.': 1,
'B': 1,
'G': 1,
'Y': 2,
'Z': 1,
'a': 2,
'b': 1,
'd': 2,
'e': 5,
'h': 1,
'i': 1,
'm': 1,
'n': 2,
'o': 4,
'p': 1,
'r': 2,
's': 1,
't': 1,
'u': 1,
'w': 1}