将多个具有相同键值的字典合并到一个列表中

问题描述 投票:0回答:1

我有以下多个字典的列表:

enter image description here

这是我的功能:

def create_20pokemons():
    my_pokemon_list = []
    for i in range(1,21):
        my_pokemon_list.append(get_pokemon_info(get_pokemon_name(i)))
    return my_pokemon_list

但我想要的结果是按类型分类。例如:具有“草”类型的将被分组到一键“草”下,依此类推。我如何得到结果??

enter image description here

python list dictionary
1个回答
0
投票

我认为你根本不需要一个列表,我认为你只是想要一本字典。

from collections import defaultdict

def create_20pokemons():
   pokemon_dict = defaultdict(dict())
   for i in range(1,21):
      info = get_pokemon_info(get_pokemon_name(i))
      for type, pokemon in info.items():
         for name, data in pokemon.items():
            pokemon_dict[type][name] = data
   return pokemon_dict
© www.soinside.com 2019 - 2024. All rights reserved.