如果我有一个字典a
,a.keys()
是否保证与a.values()
的顺序相同?
也就是说,a.keys()
的fir元素是否保证对应于a.values()
的第一个元素,其他元素依此类推?
反之亦然,给定:
a = {"a":1, "b":2}
b = {k:v for k,v in zip(a.keys(),a.values())}
a==b
总是并保证为真吗?
是,如果在调用.keys()
和.values()
之间没有进行任何修改。事实上,从Python 3.7开始:
在3.7版本中更改:字典顺序保证为插入顺序。
如官方文件中所述。
不过,您可能对.items()
方法感兴趣,因为它相当于您的zip(a.keys(),a.values())
。