我在python中创建了一个字典,到目前为止我打印它时没有错:
print(video_game_company)
我会得到预期的结果:
{('Street Fighter IV', 'Resident Evil 4'): 'Capcom', ('Crash Bandicoot', 'Uncharted', 'The Last of Us'): 'Naughty Dog', ('Prince of Persia: The Forgotten Sands', "Assassin's Creed", 'Watch Dogs'): 'Ubisoft'}
索引如下:
但是当我输入时:
print("%s" % video_game_company["Capcom"])
我收到以下错误:
KeyError: 'Capcom'
我做错了什么?
答案 0 :(得分:1)
__getitem__
获取密钥,'Capcom'
等是值 - 因此是错误。
您应该切换每个键和值以获得所需的行为:
{'Ubisoft': ('Prince of Persia: The Forgotten Sands', "Assassin's Creed", 'Watch Dogs'), 'Naughty Dog': ('Crash Bandicoot', 'Uncharted', 'The Last of Us'), 'Capcom': ('Street Fighter IV', 'Resident Evil 4')}
现在它正常工作:
print("%s" % video_game_company["Capcom"])
# ('Street Fighter IV', 'Resident Evil 4')
答案 1 :(得分:1)
"卡普空"这不是词典中的关键。它是键的价值(街头霸王IV'生化危机4')所以video_game_company [' Capcom&# 39;]导致一个keyError(显然......因为没有这样的密钥' Capcom')。
答案 2 :(得分:0)
' Capcom',' Ubisoft'和顽皮的狗'是你的字典中的值而不是键。
print("%s" % video_game_company[('Street Fighter IV', 'Resident Evil 4')])
# display Capcom
您需要在dict中反转键和值才能执行video_game_company["Capcom"]
video_game_company = {'Ubisoft': ('Prince of Persia: The Forgotten Sands', "Assassin's Creed", 'Watch Dogs'),
'Naughty Dog': ('Crash Bandicoot', 'Uncharted', 'The Last of Us'),
'Capcom': ('Street Fighter IV', 'Resident Evil 4')}
print("%s" % video_game_company["Capcom"])
# displays ('Street Fighter IV', 'Resident Evil 4')