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

Python字典:keys()和values()是否总是相同的顺序?

袁翰池
2023-03-14
问题内容

看起来字典的keys()values()方法返回的列表始终是一对一映射(假设在调用这两种方法之间字典没有改变)。

例如:

>>> d = {'one':1, 'two': 2, 'three': 3}
>>> k, v = d.keys(), d.values()
>>> for i in range(len(k)):
    print d[k[i]] == v[i]

True
True
True

如果你没有在调用keys()和调用之间更改字典values(),那么假设上述for循环将始终显示True是否错误?我找不到任何证明文件。


问题答案:

发现了这一点:

如果items()keys(),values()iteritems(),iterkeys(),和 itervalues()被称为中间没有修改的字典,列表会直接对应。

在2.x文档和3.x文档上。



 类似资料:
  • 问题内容: 我有一本按照特定顺序声明的字典,并希望一直保持该顺序。实际上不能根据它们的值按顺序保留,我只希望按声明的顺序保留。 因此,如果我有字典: 如果我查看它或遍历它,则不是按此顺序进行的,有什么方法可以确保Python保持我声明键/值的显式顺序? 问题答案: 从Python 3.6开始,标准类型默认会保留插入顺序。 定义 将产生字典,字典中的键按源代码中列出的顺序排列。 这是通过对稀疏哈希表

  • 问题内容: 上面的代码创建了100个goroutine,将num插入到通道c,所以我只是想知道,这些goroutine是否会以随机顺序执行?在我的测试期间,输出将始终为1到100 问题答案: 严格来说,您观察到的“随机”行为是不确定性行为。 要了解此处发生的情况,请考虑通道的行为。在这种情况下,它有许多goroutine试图写入通道,而只有一个goroutine从通道中读出。 阅读过程只是顺序的,

  • "给定两个字符串s和t,编写一个函数来检查s是否包含t的所有字符(顺序与字符串t相同)。返回true或false。递归不一定。这是我用java写的代码片段。问题是输入: string1="st3h5irteuyarh!"和string2="shrey"它应该返回TRUE,但它返回FALSE。那是为什么?"

  • 本文向大家介绍简单总结Python中序列与字典的相同和不同之处,包括了简单总结Python中序列与字典的相同和不同之处的使用技巧和注意事项,需要的朋友参考一下 共同点: 1.它们都是python的核心类型,是python语言自身的一部分 核心类型与非核心类型 多数核心类型可通过特定语法来生成其对象,比如"dave"就是创建字符串类型的对象的表达式; 非核心类型需要内置函数来创建,比如文件类型需要调

  • 问题内容: 通过阅读的ECMAScript 5.1规范,和被区分。 那为什么要评估? 问题答案: JavaScript使用IEEE754标准表示数字。: 有符号的零 为零,具有相关的符号。在普通算术中,-0 = +0 =0。但是,在计算中,某些数字表示形式允许存在两个零,通常用 -0(负零) 和 +0(正零)表示 。这在某些带符号的整数表示形式以及大多数浮点数表示形式中都会发生。数字0通常被编码为

  • 问题内容: 我不明白在python中如何通过“任意”顺序循环遍历字典或集合。 我的意思是,这是一种编程语言,所以语言中的一切都必须100%确定,对吗?Python必须有某种算法来决定选择字典或集合的哪个部分,1,2等等。 我错过了什么? 问题答案: 顺序不是任意的,而是取决于字典或集合的插入和删除历史,以及特定的Python实现。对于这个答案的其余部分,对于,你还可以读取;被实现为只有键而没有值的