Python字典:键()和值()总是相同的顺序吗?

Python字典:键()和值()总是相同的顺序吗?

看起来像是keys()和values()字典的方法总是1到1的映射(假设字典在调用这两个方法之间没有改变)。


例如:


>>> 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是错误的吗?我找不到任何证实这一点的文件。


慕容3067478
浏览 1234回答 3
3回答

精慕HU

发现:如果items(), keys(), values(), iteritems(), iterkeys(),和itervalues()调用时不对字典进行任何中间修改,则列表将直接对应。在……上面2.x文件和3.x文件.

哈士奇WWW

是的,您观察到的确实是一个有保证的属性-如果DECT不被更改,那么键()、值()和Item()返回列表的顺序是一致的。iterkey()&c也按照与相应列表相同的顺序迭代。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python