如何从字典中打印多个项
我有一个非常基础的问题,请不要笑我。我找不到具体的解决办法,而且我用的手册也没有专门讲这个问题,可能是因为这个问题实在太明显了。当我使用:
print residents['tenantA']
时,我从字典中得到了正确的输出“36”。
residents = {'tenantA' : 36, 'tenantB' : 37, 'tenantC' : 38}
但是当我尝试用字典中的多个项目时,像这样:
print residents['tenantB', 'tenantC']
我得到了以下错误:
KeyError: ('tenantB', 'tenantC')
我还尝试过:
print residents['tenantB' + 'tenantC']
但正如预期的那样,这只是把tenantB和tenantC连接成了tenantBtenantC。
我还尝试过:
print residents[1:]
但我得到了这个错误:
TypeError: unhashable type
这个错误信息对我来说没什么帮助。有人能告诉我我错过了什么吗?
谢谢。
4 个回答
我在做一个在线课程的时候遇到了同样的问题,找到了这个页面。我算是个新手,到现在为止在谷歌上没找到任何能说明可以在一个打印语句中放多个项目的资料。
我找到的解决办法如下(我相信还有更好的方法,但我还没找到):
A1 = dictionary_name[entry No.]['key-1']
A2 = dictionary_name[entry No.]['key-2']
A3 = dictionary_name[entry No.]['key-3']
print(f"Compare A: {A1}, {A2}, {A3}")
变量 A1、A2 和 A3 分别被赋予每个键的值,打印出来的结果是:
比较 A: 国家地理,杂志,美国
在Python3中:
print(residents['tenantB'], residents['tenantC'])
Python把'tenantB'和'tenantC'当成一个元组来处理,并试图用这个元组作为字典的键。这一点从错误信息中可以看出来。
KeyError: ('tenantB', 'tenantC')
你可以看到,键被打印成了元组('tenantB', 'tenantC')。
所以,单独的键必须分别打印出来,比如这样:
print residents['tenantB'], residents['tenantC']
print residents['tenantB', 'tenantC']
这段话的意思是,告诉Python去找一个叫做 'tenantB', 'tenantC'
的键,但在你的字典里并没有这个键。
你可能想要的是这个:
print residents['tenantB'], residents['tenantC']