Disons que j'ai ce qui suit: et celui-ci: p> Comment puis-je obtenir un troisième comme celui-ci: p>
3 Réponses :
Vous pouvez construire un dict code> pour chacune des 2 listes d'entrée, comme ceci: list_result = []
for username, d in dict_result.items():
# 'd' already contains the other data, we just add the 'username'
d['username'] = username
list_result.append(d)
Merci d'avoir corrigé le format de ma question et pour la réponse qui correspond pleinement à mes besoins. j'étais fatigué hier
Ma solution a une complexité de temps linéaire (exprimée comme O (n + m) code>); Pour les grandes listes, il sera notable plus rapide que d'utiliser une boucle de douche (qui utilisera le temps quadratique O (n2) code>). Pour les petites listes, la différence aura de sens.
Vous pouvez obtenir le résultat souhaité avec la manière suivante dans quelques lignes de code: résultat final: p> [{'username': 'seconduser', 'userid_one': '2', 'userid_two': '102'}, {'username': 'thirduser', 'userid_one': '3', 'userid_two': ''}, {'username': 'firstuser', 'userid_one': '1', 'userid_two': '101'}]
J'ai fini par faire ce qui suit (avant de voir à la fois de nouvelles réponses): Il semble assez proche des réponses récentes mais je ne sais pas quel est le meilleur moyen de le faire < / p> p>
Bien que cette approche fonctionne, il suffit de noter que cela a une complexité de temps cuadratique ( O (n2) code>); Peu importe pour de petites listes, mais avec quelques éléments de Hundert, il sera sensiblement plus lent que la réponse que vous avez marquée comme acceptée (merci, au fait).
Je suis tout à fait d'accord avec vous et c'était le point que je n'étais pas content de (complexité temporelle), car les deux listes sont assez petites (moins de 200 pour le premier et moins de 100 pour la seconde), je vais le garder comme si
Qu'est-ce que tu as essayé jusque-là?
Rien de vraiment pertinent, je construisais une nouvelle liste de dictionnaires basée sur des clés dont j'ai besoin, car ils sont plus que ceux mentionnés et j'en ai besoin que quelques-uns d'entre eux et dont j'en ai besoin que j'ai besoin de la paire de valeur clé de l'autre liste et de Je ne sais pas comment l'obtenir. J'ai essayé de jouer un peu avec intersect mais sans succès
Cela pourrait vous aider à créer un dictionnaire intermédiaire qui mappe un nom d'utilisateur à une liste des identifiants utilisateur, puis la convertissez-la dans une liste des profils utilisateur.
J'ai construit une petite fonction intermédiaire afin d'extraire les deux valeurs, mais mon problème est que les listes ne sont pas commandées et qu'elles ne contiennent pas nécessaires contiennent tout le nom d'utilisateur, l'un étant un sous-ensemble de l'autre, donc je ne peux pas simplement itérer sur chaque article lorsque la commande n'est pas identique ni la longueur