<正文>

字典

让我们看看另一种 Python 复合数据类型, 称为 字典,它类似于列表,因为它是对象的集合。
字典和列表具有以下特点:
  • 两者都是可变的;
  • 两者都是动态的(可以根据需要增长和收缩);
  • 两者都可以嵌套(一个列表可以包含另一个列表,一个字典可以包含另一个字典,一个字典也可以包含一个列表,反之亦然)。
字典与列表的不同之处主要在于元素的访问方式:
  • 列表元素通过索引在列表中的位置访问;
  • 使用键访问字典元素。
字典是一种用 Python 实现的数据结构,更广为人知的名称是关联数组。 字典由一个集合组成of key pairs -value. 每个键值对将键映射到相应的值。

 

创建字典
您可以通过将逗号分隔的键值对列表括在大括号 ({}) 中来定义字典。 冒号 (:) 将每个键与其相关的一个值: d = { <键>: <值>, <键>: <值>, . . . : ;
您可以使用内置的 dict() 函数创建字典。 dict()  参数必须是 key-value 对序列。元组列表适用于此: d = 字典([ (<键>, <值>), (<键>, <值), . . . (<键>, <值>) ]) 只需使用 print() 命令即可在屏幕上显示列表的内容。 字典中的条目按创建顺序显示。

访问字典元素


要使用字典的元素,它们必须能够以某种方式访问​​。 如果您不能通过索引获取它们,您如何获取它们?
通过在方括号 ([]) 中指定相应的键从字典中检索值。

例如,从上一个任务中创建的字典中显示阿布哈兹的首都: 打印(dict_country['阿布哈兹'])
如果您引用不在字典中的键,Python 会抛出异常: 打印(dict_country['俄罗斯']) 回溯(最近一次通话最后):< /span> 文件 "<...>",行...,在
   打印(dict_country[& #39;俄罗斯'])
KeyError: '俄罗斯' ;

 
向字典添加元素
向现有字典添加条目就像分配新键和值一样简单: dict_country['俄罗斯'] = '莫斯科'  
更新字典条目
如果你想更新一个条目,你可以简单地为一个现有的键分配一个新值: dict_country['俄罗斯'] = '莫斯科'  
从字典中删除条目
要删除条目,请使用 del 运算符,指定要删除的键: del dict_country[]
虽然访问字典中的元素与顺序无关,但 Python 确保保留字典中元素的顺序。显示时,元素将按照定义的顺序显示,键也将按该顺序重复。添加到字典中的项目在末尾添加。如果删除了元素,则保留剩余元素的顺序。

应该记住,字典的键以及字典的元素可以是不同的类型。字典还可以包含以下内容: d = {42: [2, 3, 6, 7], 2.78: 'bbb', 真: 1} print(d[42][1]) # 3 - 要访问嵌套元素,请使用附加键或索引

内置字典方法

您学到的有关字符串、列表和元组的一些方法也适用于字典。 例如, in(或 not in)方法允许您确定是否一个特定的键存在于字典中。

并且还允许您浏览字典的所有键。 对于 dict_country 中的键: 打印(键) 您还可以使用 items() 方法遍历键值对。 对于 dict_country.items() 中的键,值: 打印(键,值) 其他常用方法见表。
  <表> <头>
姓名 方法 描述(示例)
字典大小 len() 返回字典中的元素个数  <前> len(dict_country)
更新字典 更新() 允许您一次更新多个字典对 <前> dict_country.update({'俄罗斯': '莫斯科', '亚美尼亚': '埃里温'})< /pre>
按键取值 获取() 允许您通过指定的键获取值。可用于检查字典中是否存在特定键 <前> dict_country.get('Russia') # 按键返回值, # 如果没有这样的键,它将返回 None dict_country.get('Russa', 0) # 如果没有俄罗斯键,它将返回 0 #(而不是0,你可以设置任何值
删除密钥 弹出()  pop() 方法删除一个键并返回其对应的值。 <前> dict_country.pop('巴哈马')
字典键  键()  keys() 方法返回字典中的键集合。 <前> dict_country.keys()
字典值 值() 方法 values() 返回字典中值的集合。 <前> dict_country.values()
字典对 项目()  items() 方法返回字典中值的集合。 <前> dict_country.items()