当前位置: 首页 > 面试题库 >

对于Python词典,iterkeys是否比viewkeys有任何优势?

柯栋
2023-03-14
问题内容

在Python
2.7中,词典同时具有iterkeys方法和viewkeys方法(以及相似的值和项对),并提供了两种不同的方法来延迟迭代字典的键。该viewkeys方法提供的主要特征iterkeysiter(d.viewkeys())实际上等效于d.iterkeys()。此外,返回的对象viewkeys具有方便的类似于集合的功能。因此,有充分的理由看好viewkeysiterkeys

那另一个方向呢?除了与早期版本的Python兼容之外,还有什么方法比iterkeys更好viewkeys?总是使用会丢失任何东西viewkeys吗?


问题答案:

不,iterkeysover毫无优势viewkeys,就像它们都没有优势keys一样。iterkeys仅是为了向后兼容。的确,在Python
3中,这viewkeys是唯一仍然存在的行为,并且已将其重命名为keys-该viewkeys方法实际上是Python 3行为的反向移植。



 类似资料:
  • 我正在使用RabbitMQ集群进行作业队列。我想知道当我们使用Spring AMQP时,是否有任何功能可以简化与RabbitMQ集群的交互?或者最好使用官方Java客户端?

  • 问题内容: 我已经在MSDN论坛上对此进行了阅读,但我仍然不清楚。我认为这是正确的:Varchar(max)将存储为文本数据类型,因此存在缺点。因此,可以说您的字段可靠地在8000个字符以内。就像我的数据库表中的BusinessName字段一样。实际上,一个公司名称可能总是少于500个字符(将数字拉出帽子)。在8k字符数以下,我遇到的许多varchar字段似乎都很好。 那么我应该将该字段设置为va

  • 问题内容: 我的应用程序需要一个通用的查询表,该表只能由 有什么理由不应该将我设置为主键吗? 问题答案: 您绝对可以使用VARCHAR作为主键。但是作为主键,如果有任何机会,将很难进行更新。但是根据您的需要,您绝对可以使用VARCHAR作为主键

  • 问题内容: 我只想查看字典文件中是否存在字符串。 (问题底部的词典文件) 我想检查语音识别器是否可以识别单词。例如,识别器将无法识别的字符串,因为该字符串未在字典中定义。因此, 我可以检查pocktsphinx词典中是否有单词? 就像是: 我只是想一种方法,能够告诉识别器是否 可以 听我想要听的东西。 这是字典文件: https://raw.githubusercontent.com/cmusph

  • 问题内容: 我需要合并多个词典,例如: 随着A B C和D作为树的叶子像 词典的级别(深度)未知,可能是 在我的情况下,它代表目录/文件结构,其中节点为docs,而节点为文件。 我想将它们合并以获得: 我不确定如何使用Python轻松做到这一点。 问题答案: 这实际上是非常棘手的-特别是如果你希望在事物不一致时收到有用的错误消息,同时正确地接受重复但一致的条目(这里没有其他答案了……)。 假设你没

  • 是否有可能在Python中创建字典理解(用于键)? 如果没有列表理解,您可以使用以下内容: 我们可以将其缩短为列表理解:。 但是,假设我想将字典的键设置为相同的值。我可以做到: 我试过这个: 但是,我在的 的

  • 我想过滤掉列表中所有列的值为零的行。 这是我尝试过的, 这对于小型数据集很好,但是如果col_list很长,则会出现以下错误。 ava.lang.stackoverflowerrorat org.apache.spark.sql.catalyst.analysis.resolvelambdavariables.org$Apache$spark$sql$catalys$analysis$resolv

  • 问题内容: 我的numpy数组用于指定缺少的值。在遍历数据集时,我需要检测这些缺失值并以特殊方式处理它们。 我天真地用过,除非不在所支持的类型子集中,否则它会很好地工作。例如,字符串字段中可能会出现丢失的数据,在这种情况下,我得到: 除了编写昂贵的包装来捕获异常并返回外,还有没有办法优雅而有效地处理此包装? 问题答案: (也是,在较新的版本中)检查数字数组和字符串/对象数组中的缺失值。从文档中,它