由于未对字典进行排序,因此也不会对输出进行排序:
>>> d = dict(b = 1, a = 2, z = 3)
>>> d.keys()
['a', 'z', 'b']
>>> d.values()
[2, 3, 1]
但上面的keys
和values
输出总是按相应的顺序排列吗?
答案 0 :(得分:6)
答案是肯定的。
如果调用items(),keys(),values(),iteritems(),iterkeys()和itervalues()而没有对字典进行干预,则列表将直接对应。这允许使用zip()创建(值,键)对:pairs = zip(d.values(),d.keys())。 iterkeys()和itervalues()方法的关系相同:pairs = zip(d.itervalues(),d.iterkeys())为对提供相同的值。另一种创建相同列表的方法是在d.iteritems()中对(k,v)的对= [(v,k)]。
如果重复了键,值和项目视图而没有对字典进行干预修改,则项目的顺序将直接对应