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 :

Création d'un dictionnaire à partir de trois dictionnaires distinct


Sujet :

Python

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2020
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2020
    Messages : 2
    Par défaut Création d'un dictionnaire à partir de trois dictionnaires distinct
    Bonjour,

    J'ai trois fichier CSV que j'ai converti en dictionnaire distincts

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    trips = { a: identifiant_1, b:identfiant_2, c: identifiant_3...}
     
    nom_route = { a: nom_1, b: nom_2, c: nom_3 ...}
    les clés de mes dictionnaires trips et nom_route sont identiques

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    shape_id = {identifiant_1 : coordonnée_point_1, identifiant_2 : coordonnées_point_2, identifiant_3 : coordonnée_point_3....}
    Je désire fusionner les dictionnaires afin d'obtenir

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fusion = {nom_1 : coordonnée_point_1, nom_2 : coordonnee_point_2, nom_3: coordonnee_point_3...}
    Par la suite, j'utilise mon dictionnaire fusion pour tracé des lignes avec GDAL. J'ai déjà un code fonctionnel qui fonctionne avec mon dict3. Donc je veux garder la forme du dictionnaire comme étant j'affiche la clé et j'utilise mes valeurs pour créer mes géométries.

    Merci

  2. #2
    Membre expérimenté Avatar de zancrows
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2016
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2016
    Messages : 159
    Par défaut
    Bonjour,
    Quelle est votre difficulté ?

    Pour la fusion voici une façon de le faire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    trips = {"a": "id_1", "b": "id_2", "c": "id_3" }
    nom_route = {"a": "nom_1", "b": "nom_2", "c": "nom_3"}
    shape_id = {"id_1": "point_1", "id_2": "point_2", "id_3": "point_3"}
     
    result = dict()
    for k, v in trips.items():
        result[nom_route.get(k)] = shape_id.get(v)
     
    print(result)
     
    >>> {'nom_1': 'point_1', 'nom_2': 'point_2', 'nom_3': 'point_3'}

  3. #3
    Membre émérite

    Homme Profil pro
    Ingénieur
    Inscrit en
    Août 2010
    Messages
    662
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2010
    Messages : 662
    Par défaut
    Salut,

    [EDIT] : j'ai été doublé

    Commençons par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    trips = {'a': 'id1', 'b': 'id2', 'c': 'id3'}
    nom_route = {'a': 'nom_1', 'b': 'nom_2', 'c': 'nom_3'}
    shape_id = {'id1': 'coor_1', 'id2': 'coor2', 'id3': 'coor_3'}
    Il vous faut parcourir nom_route, récupérer à chaque élément la clé et la valeur. La valeur de trips correspondant à cette clé est la clé de shape_id.

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for k, name in nom_route.items():
        print(name, shape_id[trips[k]])
    Il ne reste qu'à construire le dictionnaire. Vous pouvez aussi le faire en seule fois avec un dictionnaire en intention :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fusion = {name: shape_id[trips[k]] for k, name in nom_route.items()}
    Attention toutefois. Récupérer des valeurs dans un dictionnaire peut foirer. Si vous n'êtes pas certain que la clé recherchée y sera, alors il est préférable de faire appel à la méthode get(). Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fusion = {name: shape_id.get(trips[k], None) for k, name in nom_route.items()}
    J

Discussions similaires

  1. Création d'un dictionnaire
    Par Arsene12 dans le forum Général Python
    Réponses: 13
    Dernier message: 19/03/2018, 16h03
  2. Création d'un dictionnaire bilingue console Windows
    Par Deutschland92 dans le forum Mon programme
    Réponses: 0
    Dernier message: 19/03/2014, 19h57
  3. [XL-MAC 2011] Création d'un dictionnaire
    Par ienien75 dans le forum Conception
    Réponses: 3
    Dernier message: 04/06/2012, 13h46
  4. Création d'un dictionnaire en XAML
    Par Tod_sd dans le forum Windows Presentation Foundation
    Réponses: 3
    Dernier message: 04/11/2009, 09h08

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