混淆python中的字典

时间:2016-07-15 01:03:02

标签: python

我有以下词典

commands = {

'cmd1':"configure terminal",

'cmd2':"router",

'cmd3':"MPLS"

}

当我执行以下代码时:

   `for cmd in commands:
            print(cmd)

我总是把cmd3作为第一张照片,为什么会这样?

我做错了什么。

2 个答案:

答案 0 :(得分:1)

Python词典是无序的。当你迭代它们时,它们会以某种顺序出现,但顺序可能与你添加它们的顺序不同。这是设计的。

如果您需要订单,可以使用collections.orderedDict。或者,在这种情况下,由于实际上不需要密钥,只需使用列表。

答案 1 :(得分:0)

要查看值是什么 - 请在结果列表中使用排序:

for key,value in sorted(commands.items()):
       print(key)
       print(value)
       print commands[key] # same as line above