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

如果未修改字典,它们是否保留迭代顺序?

单于钊
2023-03-14
问题内容

如果我在Python中有一个字典,并且在其中进行了一次遍历,然后再进行一次迭代,那么在没有插入,删除或更新字典中任何项目的情况下,是否可以保证保留迭代顺序?(但是我可能已经进行过查找)。


问题答案:

这里是什么dict.items()
文件说:

dict.items()返回字典的(键,值)对列表的副本。

如果在不干预字典的情况下调用items(),keys(),values(),iteritems(),iterkeys()和itervalues(),则列表将直接对应。

我认为,假设您所做的只是迭代,则可以假设项目顺序不会改变。



 类似资料:
  • 问题内容: 假设我们有一个Python字典,我们正在像这样迭代它: (并且仅仅是一些黑盒转换。) 换句话说,我们尝试在使用对其进行迭代的同时向其中添加/删除项目。 这个定义好吗?您能否提供一些参考来支持您的答案? (很明显,如果损坏了该如何解决,所以这不是我所追求的角度。) 问题答案: 在python文档页面(针对2.7)上明确提到了 使用而添加或删除字典条目可能会产生一种或无法遍历所有条目。 对

  • 问题内容: hibernate状态是否保留LinkedHashSet的顺序?如果是,则如何?如果这取决于数据库的类型,那么我想对PostgreSQL有所了解。 背景: 我知道LinkedHashSet的用途是什么,我之所以问这个原因是因为我正在将执行的某些函数的名称记录到与某些“ functionName”表具有多对多关系的“ logError”表中。我需要这些函数保持与执行它们时相同的顺序,因此

  • 我一直认为字典是无序的,这意味着我们必须使用像OrderedDector这样的东西来记住插入顺序。 当我看到python文档时,有人提到,从python3.7开始,dict是有序的。 我对这一点没有什么怀疑, 如果命令保留插入顺序,这是否意味着即使集合中的也会这样做? 如果我有下面这样的数据,那么json.dumps和json.loads功能与默认数据, 编辑:https://docs.pytho

  • 问题内容: 在以最小方式处理XML时,有什么方法可以保留属性的原始顺序吗? 说我有: 当我用最小修改它时,属性按字母顺序重新排列为蓝色,绿色和红色。我想保留原始顺序。 我通过遍历返回的元素来处理文件,然后进行这样的分配。 问题答案: 在以最小方式处理XML时,有什么方法可以保留属性的原始顺序吗? 如果为“ no”,则用于存储属性的数据类型是无序字典。pxdom可以做到,尽管它的速度要慢得多。

  • 然而,顺序是将示例5放在底部,而不是在其正确的位置。在阅读之后,我意识到对象键没有正确排序(按键排序JavaScript对象),并且JSON键不能是整数(按键排序JavaScript对象)。我需要保留对象顺序,而不是自动排序。原因是它的一个ID必须保持不变(所以没有数组替代)。 我是错过了一些简单的东西,还是需要重新思考/工作?

  • 我对python和编程都是新手,所以我很迷茫。我已经编写了一个“Node”类(如下文底部所示),它实例化了一个二叉搜索树和几个方法,如insert()和elements()(通过按顺序横切树返回元素列表)。我应该使这个类是可迭代的:“iter__(self)应该返回一个NodeIterator,它按照排序顺序从树中返回元素。修改树不应该修改现有的迭代器。”我现在正试图通过在类中插入以下代码来实现这

  • 问题内容: 假设我在bash中有一个for循环,如下所示: 是否保证了迭代的顺序,即循环将始终以相同的顺序处理文件吗?如果可以保证,顺序是否按字母顺序? 问题答案: 根据bash手册页: 路径名扩展 拆分单词后,除非已设置-f选项,否则bash会在每个单词中扫描字符* 、?和[。如果出现这些字符之一,则将该单词视为一个模式,并替换为与该模式匹配的文件名按字母顺序排列的列表(请参见下面的“模式匹配”

  • 问题内容: Java的foreach循环是否从第一个对象开始,并且以线性方式工作到结束?例如 是否总是先处理字符串“ Zoe”,然后处理“ Bob”等?没有排序发生?我已经对它进行了测试,但没有找到任何东西,但是我需要保证,在文档中找不到任何东西。 问题答案: 是。顺序不变。这适用于Java类集合框架的所有类型的集合,这些集合实现由for循环使用的迭代器接口。如果要对数组进行排序,则可以使用Arr