5.5. Dictionaries(字典)

来源:互联网 发布:淘宝新店如何刷销量 编辑:程序博客网 时间:2024/04/29 20:03

另一个内置在Python中的常用数据类型是字典。不像序列可以被整数进行下标访问,字典是按键排序,键可以是任何不可变类型;所有的数字和字符串都可用来做键,只含字符串,数字,或元组的元组可以做键;如果一个元组直接或间接包含任何可变类型,它就不能用来做键。不能把列表拿来做键,因为列表很明显是可变类型。

最好把字典想象成一堆乱序的 键值 对,其中键不可重复。一对花括号可以创建一个空字典 {}。字典中的元素形式是 键:值,元素之间用逗号分开。

在字典中的主要操作是用键做索引来存一些值,或是通过键来找到值。也可以用del来删除一个键:值对。如果你在已存在的键上再关联一个值,那么旧值将会被新值覆盖。当然,访问一个不存在的键会触发异常。

字典的keys()方法会返回一个列表,该列表的元素是字典中的键,排序是随机的。用 in 关键字来检查一个键是否在字典中。

这是一个用字典的小例子:

>>> tel = {'jack': 4098, 'sape': 4139}>>> tel['guido'] = 4127>>> tel{'sape': 4139, 'guido': 4127, 'jack': 4098}>>> tel['jack']4098>>> del tel['sape']>>> tel['irv'] = 4127>>> tel{'guido': 4127, 'irv': 4127, 'jack': 4098}>>> tel.keys()['guido', 'irv', 'jack']>>> 'guido' in telTrue

dict()构造器可以直接把键-值组成的序列转化成字典:

>>> dict([('sape', 4139), ('guido', 4127), ('jack', 4098)]){'sape': 4139, 'jack': 4098, 'guido': 4127}
另外,字典解析也可以创造出字典:

>>> {x: x**2 for x in (2, 4, 6)}{2: 4, 4: 16, 6: 36}

当键是简单简单字符串的时候,可以直接用关键字参数创建字典:

>>> dict(sape=4139, guido=4127, jack=4098){'sape': 4139, 'jack': 4098, 'guido': 4127}

译者小结:

目前已经学到 列表解析,集合解析,和字典解析。



0 0
原创粉丝点击