-1

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'}

インデックスは次のとおりです。

  1. ユービーアイソフト
  2. カプコン
  3. いたずらな犬

しかし、私が入力すると:

print("%s" % video_game_company["Capcom"])

次のエラーが表示されます。

KeyError: 'Capcom'

私は何を間違っていますか?

4

3 に答える 3

1

「カプコン」は辞書のキーではありません。これはキーの値です (「ストリート ファイター IV」、「バイオハザード 4」)。そのため、video_game_company['Capcom'] は keyError(明らかに....そのようなキー「カプコン」ではありません)。

于 2014-05-11T11:17:48.810 に答える
0

「Capcom」、「Ubisoft」、「Naughty Dog」は値であり、辞書のキーではありません。

print("%s" % video_game_company[('Street Fighter IV', 'Resident Evil 4')])  
# display Capcom

実行できるようにするには、辞書のキーと値を反転する必要があります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')
于 2014-05-10T20:10:13.700 に答える