Python 字典问题 - 每个 运行 的输出不同(使用字典输入,可以很好地处理列表)?

Python dictionary issue- different output with each run (with dictionary input, works fine with a list)?

我是 python(和 Whosebug)的新手,并编写了这段简短的代码,根据字典的值声明“适合素食者”,或者“不适合素食者”应该遇到非素食的东西(即培根)。 我在 break 之后包含了一个 print 语句来测试 break 是否正常工作,这样当遇到 bacon 时,for 循环停止并且 'else' 也被禁止。 我的问题是,每次我在 Sublime 中构建和 运行 这段代码时,我都会得到不同的输出。当 运行 在 Codecademy 在线 IDE 上使用它时,根据“蘑菇”的键,它会不恰当地打印它(比如使用键“3”)或者不会打印(如预期的那样)键“4”。 我已经将字典更改为列表并且代码运行正常,但是使用字典时这个问题仍然存在 - 我无法弄清楚这是什么原因,所以任何帮助都会很棒!

breakfast = {"1": "eggs", "2": "bacon", "3": "mushrooms", "4": "bread", "5": "tomatoes"}

for item in breakfast:
  if breakfast[item] == "bacon":
    print ("Not suitable for vegetarians")
    break
  print (item, breakfast[item])
else:
  print ("Suitable for vegetarians!")

Python 中的字典在使用 Python <= 3.5
时是无序的 这意味着当您遍历它们时,您不能保证以任何特定顺序获取它们的键。

您使用的 Python 版本是什么?