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 :

problème verification tout les element d'une liste existe dans une autre


Sujet :

Python

  1. #1
    Membre régulier
    Femme Profil pro
    étudiante chercheuse
    Inscrit en
    Septembre 2013
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : étudiante chercheuse
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2013
    Messages : 274
    Points : 101
    Points
    101
    Par défaut problème verification tout les element d'une liste existe dans une autre
    salut,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    check = all(item in all_migratory for item in solutionforpriority)
               if check:
                    print("yes the MT towoard target solution ", solutionforpriority, " has all item of allMT",
                          all_migratory)
    pour solutionforpriority[4] et all_migratory:[9], [17], [4]
    resultat:
    yes the MT towoard target solution [4] has all item of allMT [[9], [17], [4]]
    resultat erroné

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 285
    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 285
    Points : 36 773
    Points
    36 773
    Par défaut
    Salut,

    Pourquoi ne pas essayer de faire çà avec une boucle, "all" est éventuellement une optimisation à voir plus tard.

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

  3. #3
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 462
    Points : 9 249
    Points
    9 249
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    On devrait pouvoir faire ça aussi avec set(). Exemple:

    a = set([1,2,3])
    b = set([3,4,5])
    print(a & b)
    [3]

    Si les listes sont de taille inégale => si le résultat est égal à la plus petite des listes, c'est que celle-ci est contenue intégralement dans l'autre.

    A noter tout de même que la conversion avec set annule les éventuels doublons.
    Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
    Mes recettes python: http://www.jpvweb.com

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 285
    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 285
    Points : 36 773
    Points
    36 773
    Par défaut
    Citation Envoyé par tyrtamos Voir le message
    On devrait pouvoir faire ça aussi avec set().
    Ce qui suppose des types hashables (des tuples et non listes).

    De toutes façons, le code posté est correct.
    Mais ce n'est que ce n'est pas ce résultat qui est attendu, un peu comme si on cherchait à savoir si A est dans B mais qu'on code est-ce que B est dans A.

    Quand on sait pas ce qu'on veut et qu'on code n'importe quoi, pas la peine d'optimiser: une écriture simple qui permet d'ajouter des "print" pour vérifier que...

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

  5. #5
    Membre régulier
    Femme Profil pro
    étudiante chercheuse
    Inscrit en
    Septembre 2013
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : étudiante chercheuse
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2013
    Messages : 274
    Points : 101
    Points
    101
    Par défaut
    Même si je fais les structures en inverse, il y a toujours des problème de ce type:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    check = all(item in solutionforpriority for item in all_migratory)
               if check:
                    print("yes the MT towoard target solution ", solutionforpriority, " has all item of allMT",
                          all_migratory)

  6. #6
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 285
    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 285
    Points : 36 773
    Points
    36 773
    Par défaut
    Salut,

    Citation Envoyé par FATENMRABET Voir le message
    même si je fait les structures en inverse y a toujours des problème de ce types
    Vous faites un peu ce que vous voulez, c'est d'abord un problème de conception (je n'obtiens pas ce que je veux)... Et comme on ne sait pas trop ce que vous voulez obtenir...

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

  7. #7
    Membre régulier
    Femme Profil pro
    étudiante chercheuse
    Inscrit en
    Septembre 2013
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : étudiante chercheuse
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2013
    Messages : 274
    Points : 101
    Points
    101
    Par défaut je peux utiliser subset pour verifier ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    def aplatliste(L):
        """transforme un arbre (liste de listes...) en une liste à 1 seul niveau
        """
        R = []
        for elem in L:
            if isinstance(elem, (list, tuple)):
                R.extend(aplatliste(elem))
            else:
                R.append(elem)
        return R
    check=set(L1).issuperset(set(aplatliste(L2)))
    L1=[12, 12, 12, 11, 11]
    L2= [[12], [11]]

  8. #8
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 285
    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 285
    Points : 36 773
    Points
    36 773
    Par défaut
    Citation Envoyé par FATENMRABET Voir le message
    je peux utiliser subset pour verifier ça
    Super, alors le sujet est a marquer

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

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 25/08/2015, 23h55
  2. vérifier si tous les mots d'un fichier existent dans l'autre
    Par Derfh dans le forum Général Python
    Réponses: 1
    Dernier message: 18/01/2015, 21h00
  3. Réponses: 2
    Dernier message: 31/12/2012, 19h21
  4. [XL-2007] Afficher toutes les valeurs associées à une autre valeur
    Par lecter85 dans le forum Excel
    Réponses: 2
    Dernier message: 19/12/2012, 18h23
  5. garder tout les element d'une page avec la meme proportion
    Par mahboub dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 26/10/2009, 23h49

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