[英]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.