2
I have 2 lists like the following:
lista1 = [
{'Idade': '8', 'Especie': 'Gato', 'Nome do Animal': 'Felix'},
{'Idade': '57', 'Especie': 'Tartaruga', 'Nome do Animal': 'Michelangelo'},
{'Idade': '12', 'Especie': 'Cao', 'Nome do Animal': 'Rantanplian'},
{'Idade': '2', 'Especie': 'Peixe', 'Nome do Animal': 'Nemo'},
{'Idade': '45', 'Especie': 'Tartaruga', 'Nome do Animal': 'Leonardo'},
{'Idade': '9', 'Especie': 'Cao', 'Nome do Animal': 'Milo'},
{'Idade': '57', 'Especie': 'Tartaruga', 'Nome do Animal': 'Raphael'},
{'Idade': '4', 'Especie': 'Peixe', 'Nome do Animal': 'Dory'} ]
lista2 = [
{'Nome do Dono ': 'Ana', 'Nome do Animal': 'Michelangelo'},
{'Nome do Dono ': 'Eva', 'Nome do Animal': 'Dory'},
{'Nome do Dono ': 'Ada', 'Nome do Animal': 'Rantanplan'},
{'Nome do Dono ': 'Ana', 'Nome do Animal': 'Leonardo'},
{'Nome do Dono ': 'Eva', 'Nome do Animal': 'Felix'},
{'Nome do Dono ': 'Ana', 'Nome do Animal': 'Raphael'},
{'Nome do Dono ': 'Eva', 'Nome do Animal': 'Nemo'} ]
And I want to get a dictionary that will make each owner a list as the value of the dictionary of the age of their animals, like this:
{ 'Eva': ['Felix', 'Nemo', 'Dory'],'Ana': ... }
I’ve tried to do it but it’s not working for me, I’m just missing a little promonor that I don’t know what it is since my code just puts one animal per owner :
myvalues = [a['Nome do Dono'] for a in lista2 if 'Nome do Dono' in a]
novo_dict = {}
for nome in myvalues:
novo_dict[nome] = []
for i in range(len(lista2)):
if nome == lista2 [i]['Nome do Dono']:
novo_dict[nome] = lista2 [i]['Nome do Animal']
however what I get is this:
{'Eva': ['Nemo'], 'Ana': ['Raphael'], 'Ada': ['Rantanplan']}