Convertir liste de dictionnaires en UN SEUL dictionnaire.

Résolu/Fermé
UnTacosMoisi - Modifié le 24 févr. 2022 à 12:36
jee pee Messages postés 39712 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 12 mai 2024 - 24 févr. 2022 à 13:48
Mes salutations à ceux qui liront ce message et mes remerciements à ceux qui prendront la peine de m'apporter leur aide.

Je dois réaliser un projet en NSI intitulé "Table de données" ( ne vous inquiétez pas, je ne vous pose qu'une question parmi les 26 ) et la question est très précisément la suivante :

<< Ecrire une fonction PopPays(T),T étant une table contenant les attributs CodePays et Population, qui renvoie le dictionnaire:
{'CodePays1':population pays1,'CodePays2':population pays2, 'CodePays3':population pays3,..}
dont les clés sont les codes des pays de la table T et les valeur leur population respective >>.


J'ai importé un fichier excel contenant plusieurs villes :

import csv
fichier1=open("villes1000.csv", encoding="utf8")
Villes=list(csv.DictReader(fichier1 ,delimiter=","))


Voici ma fonction affichant le code du pays de la ville et la population de la ville :
( Je sais que je dois rassembler les villes et les populations appartenant au même pays mais je ne sais pas le faire )

def PopPays(T):
return [{e["Pays"] : e["Population"]} for e in T]

PopPays(Villes)


À partir de là, j'obtiens une réponse du style : [{'AD': '1052'}, {'AD': '8022'}, {'AD': '2363'}, ...].
Or, je voudrais obtenir un seul et même dictionnaire.
Y a-t-il une méthode pour convertir une liste de dictionnaires en un seul dictionnaire ?
A voir également:

1 réponse

jee pee Messages postés 39712 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 12 mai 2024 9 270
24 févr. 2022 à 13:48
Bonjour,

Tu devrais nous donner la description du fichier vile.csv mais est-ce bien à utiliser ? car l'exercice ne mentionne pas ces données.

Il est indiqué que T passé en paramètre est une table (code_pays, population) pas une table ville/population.
0