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 :

Extraire données d'un "nested dictionary"


Sujet :

Python

  1. #1
    Candidat au Club
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Novembre 2020
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Novembre 2020
    Messages : 2
    Par défaut Extraire données d'un "nested dictionary"
    Bonjour;
    J'ai l'exercice suivant à faire:

    à partir du fichier json suivant :

    Code JSON : Sélectionner tout - Visualiser dans une fenêtre à part
    {"www.euro-football.com": {"article": {"31": {"508": {}, "600": {}}, "29": {"10": {}, "142": {}}}}, "vz.com": {"news": {"12": {"6": {"2187.html": {}, "101.html": {}}, "4": {"1011.html": {}, "798.html": {}}}}}}

    Indiquez toutes les url possibles ( du type www.euro-football.com/article/29/10 ; www.euro-football.com/article/29/142 etc...).

    J'ai essayé d'utiliser l'algorithme dfs mais sans succès. Auriez-vous des indications sur quelles voies partir pour avancer sur ce problème ?

    Merci beaucoup

  2. #2
    Membre Expert
    Avatar de MPython Alaplancha
    Homme Profil pro
    Paysan à 3 francs six sous
    Inscrit en
    Juin 2018
    Messages
    919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Paysan à 3 francs six sous
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2018
    Messages : 919
    Billets dans le blog
    8
    Par défaut
    Citation Envoyé par krapan1 Voir le message
    Auriez-vous des indications sur quelles voies partir pour avancer sur ce problème ?
    Bonjour,
    J'utiliserai une expression rationnelle pour rechercher les url...

  3. #3
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 716
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 716
    Par défaut
    Salut,

    Citation Envoyé par krapan1 Voir le message
    J'ai essayé d'utiliser l'algorithme dfs mais sans succès. Auriez-vous des indications sur quelles voies partir pour avancer sur ce problème ?
    A priori BFS est une idée mais si vous ne montrez pas ce que vous avez essayé...

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  4. #4
    Candidat au Club
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Novembre 2020
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Novembre 2020
    Messages : 2
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Salut,



    A priori DFS est une idée mais si vous ne montrez pas ce que vous avez essayé...

    - W
    Merci pour votre réponse.

    Le fait est que je ne comprends pas comment itérer dans le dictionnaire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    def bfs(graph, root):
     
        visited, queue = set(), collections.deque([root])
        visited.add(root)
     
        while queue:
     
     
            vertex = queue.popleft()
            print(str(vertex) + " ", end="")
     
     
            for neighbour in graph[vertex]:
                if neighbour not in visited:
                    visited.add(neighbour)
                    queue.append(neighbour)
    #                 graph=list(graph[vertex].keys())[0]
                    print(graph)
                    print(vertex)
                    print(graph[vertex])
                    graph=graph[vertex].copy()
    Je souhaite ainsi itérer à travers le dictionnaire, et obtenir tous les combinaisons possibles.
    Seulement je ne parviens pas à me déplacer à travers le dictionnaire.

  5. #5
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 716
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 716
    Par défaut
    Salut,

    Citation Envoyé par krapan1 Voir le message
    Le fait est que je ne comprends pas comment itérer dans le dictionnaire
    Vous avez une structure hiérarchique similaire à l'arborescence des répertoires/fichiers qu'il y a sur votre disque dur.

    Chaque nœud est un dictionnaire dont les clefs sont un bout d'URL et les valeurs, le dictionnaire à éplucher pour récupérer le bout suivant.

    On se balade la dedans avec une fonction récursive puisqu'on fait la même chose pour chaque nœud (jusqu'à rencontrer le nœud vide).

    Et il y a 2 difficultés: se balader dans le dictionnaire de dictionnaires et concaténer les bouts qui sortent à chaque étape.

    Vous pouvez faire çà avec un algorithme de parcours en profondeur simplifié: un arbre n'a pas de boucle donc inutile de "marquer" les noeuds.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. Importation de données caractères avec quote
    Par caro92 dans le forum SAS Base
    Réponses: 3
    Dernier message: 25/11/2015, 09h59
  2. affichage de donnée avec double quote
    Par artichaudd dans le forum Langage
    Réponses: 4
    Dernier message: 24/11/2011, 11h35
  3. [SQL SVR 2K]Données contenant double quote
    Par Franck2mars dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 11/01/2007, 10h46
  4. Extraire données d'un webservice , xml , php ..
    Par Lettue dans le forum Langage
    Réponses: 1
    Dernier message: 14/09/2006, 19h24
  5. Extraire données fichier txt
    Par philippef dans le forum Langage
    Réponses: 1
    Dernier message: 10/10/2005, 17h12

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