1
prices = {
    "banana": 4,
    "apple": 2,
    "orange": 1.5,
    "pear": 3
} 

stock = {
    "banana": 6,
    "apple": 0,
    "orange": 32,
    "pear": 15
}
total = 0 

for item in prices:
    a=prices[item]*stock[item]
    total=total+a
    print total 

所以这是我的代码,我故意在 for 语句中写了打印总数,所以它为我打印出计算顺序,数字像这样 48.0 93.0 117.0 117.0,所以在基本计算之后,语句搅动的第一个值out是橙子的总数第二个是梨子的总数第三个是香蕉最后一个是苹果

现在我很好奇这种计算优先级是根据什么原则进行的,因为在我看来它从 dic_stock 中的最大数字开始并以递减方式计算,我知道这只是一个肤浅的观察,一定有原因为什么计算机会这样做

谁能告诉我为什么:)

4

1 回答 1

5

字典没有排序。因此,获取键值对的顺序不是固定的。如果需要在 dict 上定义插入顺序,则需要使用集合。OrderedDict

于 2013-08-15T08:42:34.987 回答