[英]Code run in a weird way in Visual Studio code (python)
我正在 python 中的 VSC 中編寫一些代碼,我注意到一個奇怪的行為:
mio_dict = {"Chiave1": "valore1", "Chiave2": "valore2", 29: 4}
mio_dict.get(4, "key not found")
mio_dict.get(29, "key not found")
基本上,如果我只有 mio_dict.get(4, "chiave non trovata"),它會正確回復,但如果我在塊中有兩個結果,它只會回復第二個結果,因為第一個不存在...任何想法為什么?
同樣,在終端有時它根本不起作用,但在交互式 shell 是...為什么???
謝謝
你的問題有點含糊。 首先請明確字典的定義, 字典是key和value的一一對應關系。
在您的情況下, 29 是key而 4 是value 。
讓我們閱讀get(key[,default])
方法的定義:
如果鍵在字典中,則返回鍵的值,否則返回默認值。 如果未給出默認值,則默認為None
,因此此方法永遠不會引發 KeyError。
在你的代碼中,
mio_dict.get(4, "key not found")
mio_dict.get(29, "key not found")
第一個將返回“未找到鍵”,因為 4 不是字典mio_dict
中的鍵,第二個將返回 4,因為 29 是一個鍵,它的值為 4。
您可以使用調試查看這兩行返回的值,或者您可以使用方法 print() 查看 output。
print(mio_dict.get(4, "key not found"))
print(mio_dict.get(29, "key not found"))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.