字典实战——在Python 3.X 和 2.7 中的字典改变

未匹配的标注

本章到目前为止一直关注跨版本的字典基础,但在3.X中字典功能已经发生了突变。如果在使用2.X的代码,可能会遇到一些字典工具在3.X中要么表现得不同,要么完全缺失了。而且,3.X的编码者可以访问2.X中无法访问的额外字典工具(除了两个后向移植到2.7的)。

在3.X中的字典专有:

  • 支持新的字典comprehension表达式,类似与列表和set comprehension
  • 方法D.keysD.valuesD.items返回类set的可迭代的views而非列表
  • 因为前一点,需要通过排序的键用于扫描的新编码样式
  • 不再支持直接地相对数值比较——而是手动比较
  • 不再有D.has_key方法——而是使用in成员测试

因为以后从3.X中后向移植,2.7中的字典(但不是更早的2.X):

  • 支持前一个列表中的项1——字典 comprehension——作为3.X的直接后向移植
  • 支持前一个列表中的项2——类set的可迭代的views——但是通过特殊方法名D.viewkeysD.viewvaluesD.viewitems;它们的nonview方法和以前一样返回列表

因为这些重叠,本节中的一些材料同时属于3.X和2.7,但被展示在3.X扩展的上下文中,因为它的起源。记住这一点,让我们了解一下在3.X和2.7中字典有哪些新增功能。

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
讨论数量: 0
发起讨论 查看所有版本


暂无话题~