我只使用 python 几个月,如果我问了一个愚蠢的问题,很抱歉。我在使用变量调用字典名称时遇到问题。
问题是,如果我使用变量来调用字典 & [] 运算符,python 会解释我的代码,试图返回字符串中的单个字符,而不是字典列表中的任何内容。
举个例子来说明......假设我有一个如下的字典列表。
USA={'Capital':'Washington',
'Currency':'USD'}
Japan={'Capital':'Tokyo',
'Currency':'JPY'}
China={'Capital':'Beijing',
'Currency':'RMB'}
country=input("Enter USA or JAPAN or China? ")
print(USA["Capital"]+USA["Currency"]) #No problem -> WashingtonUSD
print(Japan["Capital"]+Japan["Currency"]) #No problem -> TokyoJPY
print(China["Capital"]+China["Currency"]) #No problem -> BeijingRMB
print(country["Capital"]+country["Currency"]) #Error -> TypeError: string indices must be integers
在上面的示例中,我理解解释器需要一个整数,因为它将“国家”的值视为字符串而不是字典......就像我将国家 [2] 使用日本作为输入(例如),它将返回字符“p”。但显然这不是我的意图。
有没有办法解决这个问题?