我的代码:

prices = {"banana": 4,"apple": 2,"orange": 1.5,"pear": 3}
stock = {"banana": 6,"apple": 0,"orange": 32,"pear": 15,}
for i in prices:
    print i
    print "price : %s" % prices[i]
    print "stock : %s" % stock[i]

我的输出是:
orange
price : 1.5
stock : 32
pear
price : 3
stock : 15
banana
price : 4
stock : 6
apple
price : 2
stock : 0
None

我的问题是为什么我的输出是从“orange”而不是“banana”打印出来的,然后是“apple then”orange: 然后是“pear”?

最佳答案

Python dicts 是无序的,也就是说它们的键不是按字典顺序排列的。如果您希望 key 始终按顺序排列,请改用 OrderedDict 。否则,您也可以对列表进行排序,而是使用 for i in sorted(prices):

关于python - 循环字典,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27477970/

10-15 17:46