IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Ajout d'un dictionnaire à un dictionnaire


Sujet :

Python

  1. #1
    Candidat au Club
    Femme Profil pro
    Développeur Web
    Inscrit en
    Mai 2024
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2024
    Messages : 6
    Points : 3
    Points
    3
    Par défaut Ajout d'un dictionnaire à un dictionnaire
    Bonjour à tous,

    je débute sous Python

    j'aimerai récupérer les données de 3 villes mais lorsque j'utilise la fonction update(). je n'ai que le dictionnaire du dernier tableau (tokyo) qui s'ajoute,
    quelle est mon erreur ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    import requests
    api_key="xxxxxx"
     
    def get_weather(city):
            url =f"https://api.openweathermap.org/data/2.5/weather?q={city}&appid={api_key}"
            data = requests.get(url).json()
            return data
     
    lCity = ['London','Paris','Tokyo']
    dicoCity = {}
    for city in lCity:
        icoCity.update(get_weather(city))  
     
    print(dicoCity)
    merci beaucoup !

  2. #2
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 578
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 578
    Points : 2 022
    Points
    2 022
    Par défaut
    Bonsoir,

    vous alimentez votre dictionnaire avec des associations de clés/valeurs et il y a fort à parier que ces clés se retrouvent dans chaque information de ville consultée.

    Vous ne faites donc qu'écraser le contenu de votre dictionnaire à chaque passage de boucle for.

    En gérant les données de chaque ville en associant son contenu avec une clé au nom de la ville en question, vous devriez tout conserver dans le dictionnaire.

  3. #3
    Candidat au Club
    Femme Profil pro
    Développeur Web
    Inscrit en
    Mai 2024
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2024
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Bonsoir,

    oui effectivement, ce sont des résultats d'une API, il n'y a que la ville qui change.

    comment faire alors pour ajouter un dictionnaire dans un autre dictionnaire (équivalent de append() mais pour les dictionnaires).

    merci de votre aide.

  4. #4
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 854
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 854
    Points : 7 172
    Points
    7 172
    Par défaut
    Bonjour,

    Citation Envoyé par maysa22
    comment faire alors pour ajouter un dictionnaire dans un autre dictionnaire (équivalent de append() mais pour les dictionnaires).
    Si le but est d'avoir une liste des résultats, le plus simple est de créer une liste python, et d'y ajouter les résultats pour chaque ville.
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  5. #5
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 136
    Points : 4 533
    Points
    4 533
    Par défaut
    bonjour

    si je comprends bien, tu peux faire une chose du type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    lCity = ['London','Paris','Tokyo']
    dicoCity = {}
    for city in lCity:
        dicoCity[city] = get_weather(city)
    Ton erreur est ? sans doute de ne pas comprendre ce qu'est un dictionnaire en python


    Note: Fait attention à tes variables, tu nous fournis des choses sans queue ni tête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    dicoCity = {}
    for city in lCity:
        icoCity.update(get_weather(city))  
    print(dicoCity)
    un jour c'est icoCity et un autre dicoCity
    $moi= ( !== ) ? : ;

Discussions similaires

  1. ajouter un dictionnaire médical
    Par zangaloni dans le forum Word
    Réponses: 2
    Dernier message: 12/04/2011, 22h56
  2. [WD-2007] Activer la commande « Ajouter au dictionnaire »
    Par TheBlue dans le forum Word
    Réponses: 1
    Dernier message: 20/07/2010, 18h17
  3. Ajouter une valeur à un dictionnaire
    Par niepoc dans le forum Général Python
    Réponses: 10
    Dernier message: 21/05/2010, 20h41
  4. Erreur d'ajout de mot au dictionnaire
    Par croset dans le forum Débuter
    Réponses: 2
    Dernier message: 11/05/2008, 18h39
  5. Réponses: 1
    Dernier message: 01/09/2006, 20h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo