我使用 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”。但显然 这不是我的意图。
有什么办法可以解决这个问题吗?
最佳答案
您应该将国家/地区本身放入字典中,键是国家/地区名称。然后您就可以执行 COUNTRIES[country]["Capital"]
等操作
示例:
COUNTRIES = dict(
USA={'Capital':'Washington',
'Currency':'USD'},
Japan={'Capital':'Tokyo',
'Currency':'JPY'},
...
)
country = input("Enter USA or Japan or China? ")
print(COUNTRIES[country]["Capital"])
关于python - 使用 Python 使用变量调用字典时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17460185/