J'ai un dictionnaire comme suit:
result1 = { 'name':'Test', 'lastName': 'Test', 'score': '1', 'subjects': 'te'}
result2 = { 'name':'Test', 'lastName': 'Test', 'score': '2', 'subjects': 're'}
5 Réponses :
Essayez ceci: sortie: p>
Voici une fonction qui décompressez em> votre dictionnaire. Nous utilisons d'abord Notez que cela échouera si le dictionnaire ne contient aucune liste du tout. p> suivant code> pour trouver une valeur de liste dans le dictionnaire, sa longueur est la taille de sortie attendue. p> sortie h2>
Vous n'avez pas besoin de boucles imbriquées pour des boucles, une seule boucle est suffisante:
Vous pouvez essayer ceci: res1 = {} res2 = {}
for k,v in a.items():
if(k == "scores"):
res1[k] = v[0]
res2[k] = v[1]
elif(k=="subjects"):
res1[k] = v[0]
res2[k] = v[1]
else:
res1[k] = v
res2[k] = v
print(res1)
print(res2)
Vous pouvez utiliser zip code> pour attacher des scores et des sujets les uns aux autres, puis ajoutez-le à une nouvelle liste. d = {'name': 'Test', 'lastName': 'Test', 'scores': ['1', '2'], 'subjects': ['te','re'] }
template = {'name': d['name'], 'lastName': d['lastName']}
res = []
for subject, score in zip(d['subjects'], d['scores']):
template.update({'subjects': subject, 'scores': score})
res.append(template)
print(res)
Pouvez-vous montrer ce que vous avez essayé?
résultat1 code> etrésultat2 code> dans votre exemple de sortie sont exactement les mêmes. Je suppose que le second était censé avoir"score": "2", "sujets": "re ' code>?