[英]Printing out a value from a nested dictionary
我是編程新手。
我正在嘗試打印嵌套字典中鍵的值。
ROOM = ""
ROOM_DESC = ""
ROOM_THIS = ""
ROOM_THAT = ""
ROOM_EXM = ""
randdict = {
"a1": {
ROOM: "room name",
ROOM_DESC: "room desc",
ROOM_THIS: "room this",
ROOM_THAT: "room that",
ROOM_EXM: "room exm",
}
}
print(randdict["a1"][ROOM] + "\n" + randdict["a1"][ROOM_DESC] + "\n" + randdict["a1"][ROOM_THIS])
我期待的結果是:
room name
room desc
room this
相反,我得到的是:
room exm
room exm
room exm
不太確定那里出了什么問題,將不勝感激。
將您的密鑰更改為以下內容。
randdict = {
"a1": {
'ROOM' : "room name",
'ROOM_DESC' : "room desc",
'ROOM_THIS': "room this",
'ROOM_THAT': "room that",
'ROOM_EXM': "room exm",
}
}
print(f"{randdict['a1']['ROOM']} \n{randdict['a1']['ROOM_DESC']} \n{randdict['a1']['ROOM_THIS']}")
使用 ROOM、ROOM_DESC、ROOM_THIS、ROOM_THAT 和 ROOM_EXM 的不同值。 字典必須有唯一的鍵。
ROOM = "1"
ROOM_DESC = "2"
ROOM_THIS = "3"
ROOM_THAT = "4"
ROOM_EXM = "5"
randdict = {
"a1": {
ROOM: "room name",
ROOM_DESC: "room desc",
ROOM_THIS: "room this",
ROOM_THAT: "room that",
ROOM_EXM: "room exm",
}
}
print(randdict["a1"][ROOM] + "\n" + randdict["a1"][ROOM_DESC] + "\n" + randdict["a1"][ROOM_THIS])
ROOM、ROOM_DESC、ROOM_THIS、ROOM_THAT 和 ROOM_EXM 都是“”。 這會導致字典被覆蓋,並且因為最后一個條目是 room exm 是被打印的(因為它沒有被覆蓋)。 如果您將房間變量切換為唯一的,它應該可以工作
這里的問題是所有變量 ROOM_* 都是相同的空字符串。 因此,您的字典僅使用最后一個鍵/值 ROOM_EXM:“room exm”創建。
您可以通過打印字典來檢查。
您應該為變量 ROOM_* 分配一些字符串。 甚至是這樣的:
ROOM = "ROOM"
ROOM_DESC = "ROOM_DESC"
ROOM_THIS = "ROOM_THIS"
ROOM_THAT = "ROOM_THAT"
ROOM_EXM = "ROOM_EXM"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.