python词典中的键值一致性

Gen*_*cos 5 python

这可能是一个菜鸟问题.对于python中的任何字典'd',这总是为True:

dict( zip( d.keys(), d.values() ) ) == d 
Run Code Online (Sandbox Code Playgroud)

键和值是否以相同的顺序返回?

Tri*_*ych 6

是的,这总是如此.如果没有对ditionary的干预修改,则由Python保证.

相关规范:http://docs.python.org/library/stdtypes.html#dict.items

这通常更好,因为它可以防止dict不同步并使用可忽略不计的额外内存:

dict((k,v) for k,v in d.iteritems())

  • 解压缩是不必要的,`dict(d.iteritems())`也可以.就此而言,大多数dicts(包括`dict`)特殊情况映射(一般都是迭代)并且无论如何都会这样做,尽管我不确定它是否是通用的. (2认同)