字典

字典也是序列的一种,但不是使用索引进行访问,其中元素的顺序也无关紧要。字典中的元素都拥有唯一的键值(Key),键值通常为字符串,也可以是其他任意不可变类型,如布尔型、整型、浮点、元组等。字典是可变的,所以可以进行增加、删除、修改等操作。

Info

字典相当于 Java 中的 Map 类型。

字典使用大括号包裹的逗号分割的键值对进行定义,键值对中键与值之间使用冒号分开。例如:

dict1 = { 'abc': 123, 'bcd': 456, 98.7: 'ui' }
dict2 = {}
dict3 = dict()

对于字典中值的访问需要使用键值,键值需要放在方括号中,例如:dict1['abc']。对于值的修改,也是通过对于键值的访问完成的;删除操作也一样。

使用dict()可以将固定格式的二维序列转换为字典,这个格式为((键, 值), (键, 值))。具体内容类型可以是列表和元组或者是两者混合的类型,甚至还可以是双字符字符串列表。字典中的键是唯一的,如果同一个键被定义两次,则只有最后一次定义生效。

字典操作

字典可以使用in来测试其中是否包含指定的键,注意不是值。

对于字典,Python 提供了以下函数和方法来操作。

  • len(dict),计算元素个数。
  • str(dict),输出字典到字符串。
  • type(dict),返回字典的类型。
  • dict.update(dict2),将 dict2 中的内容合并到 dict 中。
  • dict.clear(),删除字典内的全部元素。
  • dict.copy(),复制字典内容。
  • dict.keys(),以列表返回字典中全部的键。
  • dict.get(key, default=None),尝试获取指定键对应的值,如果键不存在则返回default指定的值。
  • dict.items(),以列表返回可遍历的由键和值组成的元组序列。
  • dict.setdefault(key, default=None),尝试设置指定键的值,如果键不存在则添加键并设置默认值。
  • dict.values(),以列表返回字典中的所有值。
  • dict.pop(key, default=None),删除字典中的键以及对应值,返回被删除的值,如果键不存在,返回default值。
  • dict.popitem(),随机返回并删除字典中的一对键和值。