Je traite de très grandes trois dictionnaires qui ressemblent à ceci: Je cherche la sortie comme ceci: p> Ce que j'ai essayé est: p> qui n'est vraiment pas efficace et optimise la manière de faire cette tâche. Je pensais utiliser des pandas. P> Comment puis-je faire cette tâche dans une complexité de temps minimale? P> merci! P> p>
4 Réponses :
Essayez de cette façon: - sortie: - p>
Du: sortie: p>
Voici aller simple
Parce que ce sont des dictionnaires, il vous suffit d'itérer plus d'une. Vous pouvez utiliser la clé pour obtenir la valeur correspondante des autres.
Exemple: P>
for key, value in dict_a.items():
final_dict['name'].append(key)
final_dict['first_value'].append(value)
final_dict['second_value'].append(dict_b[key])
final_dict['third_value'].append(dict_c[key])
Pour la lisibilité, je pourrais simplement utiliser pour key_in dict_a code>. Ensuite, les affectations final_dict code> (en dehors du premier) peuvent toutes être écrites uniformément comme final_dict ['...']. Ajoutez (... [clé]) code>.
(Peut être bon de confirmer aussi que les trois dictionnaires ont le même ensemble de clés.)
Je pensais à fixer l'union des clés, puis à itérer les clés pour construire la sortie - juste au cas où certains dict manquent d'entrer.
Cela vous obtient toutes les clés de tous les dicts, vous n'avez donc besoin que d'une boucle. O (n) + o (n) = o (n) Stackoverflow.com/questions/5242311/...