我正在使用一个字典,它的结构像这样在一个函数中:
listOfInformation = [{123456789: {'PokemonId': '123456789', 'PokemonName': 'Pikachu', 'PokemonAttack': 'thunderbolt'}}]
在该函数中,我传递一个整数作为参数(pokemon_id),然后尝试测试键值对是否存在:
listOfInformation(pokemon_id)
但是我得到IndexError的错误,列表索引超出范围。我不明白为什么会出现这个错误。我怎样才能解决这个问题?
我应该得到这个的整个值:
{'PokemonId': '123456789', 'PokemonName': 'Pikachu', 'PokemonAttack': 'thunderbolt'}
您的数据结构似乎是包含一个元素的列表,该元素是一个字典。如果是这样,您应该使用:
listOfInformation = [{123456789: {'PokemonId': '123456789', 'PokemonName': 'Pikachu', 'PokemonAttack': 'thunderbolt'}}]
if 123456789 in listOfInformation[0]:
print(listOfInformation[0][123456789])
上面打印:
{'PokemonId': '123456789', 'PokemonAttack': 'thunderbolt', 'PokemonName': 'Pikachu'}