【发布时间】:2013-07-01 20:42:31
【问题描述】:
我只使用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”。但很明显 这不是我的意图。
有什么办法可以解决这个问题吗?
【问题讨论】:
标签: python string dictionary