簡體   English   中英

Python 字典問題 - 每次運行時 output 不同(使用字典輸入,列表工作正常)?

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

我是 python(和 stackoverflow)的新手,並編寫了這段簡短的代碼,根據字典的值聲明“適合素食者”,或者如果遇到非素食者(即培根),則“不適合素食者” )。 我在 break 之后包含了一個 print 語句來測試 break 是否正常工作,因此當遇到 bacon 時,for 循環停止並且“else”也被禁止。 我的問題是,每次我在 Sublime 中構建和運行這段代碼時,都會得到不同的 output。 在 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 版本?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM