重温python基础6:字典

来源:互联网 发布:软件开发入门书籍 编辑:程序博客网 时间:2024/06/10 02:20

一、像列表一样,“ 字典”是许多值的集合。但不像列表的下标,字典的索引可以使用许多不同数据类型,不只是整数。字典的索引被称为“键”,键及其关联的值称为“键-值”对。 在代码中,字典输入时带花括号{}。例如:

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}