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 :

Appartenance Liste de Liste


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2020
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2020
    Messages : 8
    Par défaut Appartenance Liste de Liste
    Bonjour à tous,

    Aujourd’hui j'ai rencontré un problème pour un de mes exercices, je m’explique :
    j'ai besoin de faire un test de ma liste de liste :
    lstlst= [0, 1, 1, 0, 1, 1, 1, 0],
    [1, 0, 0, 1, 1, 0, 0, 1],
    [0, 1, 0, 1, 1, 0, 0, 1],
    [0, 1, 0, 1, 0, 0, 1, 1],
    [1, 0, 1, 0, 0, 1, 3, 0],
    [1, 1, 0, 0, 0, 1, 0, 1]]
    Je dois donc faire une fonction Indice qui à partir d'une liste d'entier et d'un entier n retourne None si l’élément n n'est pas dans dans la liste et sinon affiche l'indice du premier élément n rencontré.
    ici je cherche à trouver l'indice de l'élement qui vaut 3.
    voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    def indice (lst, n):
    	for i in range(len(lst)):
    		for j in range (len(lst[i])):
    			if lst[i] == n :
    				print (i)
    			elif n not in lst[i] :
    				return None
     
     
    indice(lstlst, 3)
    ceci n'affiche rien pourtant l'élément est bien dans la liste
    Je ne comprends pas mon erreur..

    Merci de votre aide

    Fliiwyk

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    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 741
    Par défaut
    Salut,

    Citation Envoyé par Fliiwyk Voir le message
    ceci n'affiche rien pourtant l'élément est bien dans la liste
    Je ne comprends pas mon erreur..
    Il y a deux erreurs.
    La première est qu'un tableau à deux dimensions signifie préciser ces deux dimensions pour accéder à un des éléments.

    La seconde est que vous écrivez une boucle qui incrémente des j à l'intérieur d'une boucle qui incrémente des i, et vous vous retrouvez à tester sans qu'apparaisse le j. A quoi peut bien servir ce j si vous ne vous en servez pas.

    Au final vous vous retrouvez à comparer une liste avec un nombre: aucune chance que çà puisse être égal.

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

  3. #3
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 307
    Par défaut
    Salut,

    Python est plus simple que cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    def search(lst, n):
        for idx, l in enumerate(lst):
            try:
                index = l.index(n)
            except ValueError:
                pass
            else:
                print("%s trouvé à l'index %s de la sous-liste %s" %(n, index, idx))

  4. #4
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2020
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2020
    Messages : 8
    Par défaut
    Citation Envoyé par VinsS Voir le message
    Salut,

    Python est plus simple que cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    def search(lst, n):
        for idx, l in enumerate(lst):
            try:
                index = l.index(n)
            except ValueError:
                pass
            else:
                print("%s trouvé à l'index %s de la sous-liste %s" %(n, index, idx))
    Merci de votre réponse,

    je n'ai pas utilisé cette syntaxe encore en classe et je pense que je dois continuer à utiliser celle vu en classe c'est pourquoi je me complique peut être un peu la vie.
    J'ai réussi à afficher le couple d'entier représentant la position de l'élément n dans ma liste mais je n'arrive pas à tester mon tableau pour savoir si l'élément n est inclus dedans ...

  5. #5
    Membre Expert
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2013
    Messages
    1 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 617
    Par défaut
    Use et abuse des print(el) et des print(type(el))

  6. #6
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2020
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2020
    Messages : 8
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Salut,



    Il y a deux erreurs.
    La première est qu'un tableau à deux dimensions signifie préciser ces deux dimensions pour accéder à un des éléments.

    La seconde est que vous écrivez une boucle qui incrémente des j à l'intérieur d'une boucle qui incrémente des i, et vous vous retrouvez à tester sans qu'apparaisse le j. A quoi peut bien servir ce j si vous ne vous en servez pas.

    Au final vous vous retrouvez à comparer une liste avec un nombre: aucune chance que çà puisse être égal.

    - W
    Merci de votre réponse,

    j'ai oublié le j en effet j'aurais du écrire if lst[i][j] == n
    mais je comprends pas pourquoi je compare une liste avec un nombre ... l'élément lst[i][j] est bien un nombre non ?

  7. #7
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    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 741
    Par défaut
    Citation Envoyé par Fliiwyk Voir le message
    j'ai oublié le j en effet j'aurais du écrire if lst[i][j] == n
    mais je comprends pas pourquoi je compare une liste avec un nombre ... l'élément lst[i][j] est bien un nombre non ?
    Si lst[i][j]est un nombre, lst[i] est une liste.

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

Discussions similaires

  1. Liste des objets appartenant aux utilisateurs par défaut
    Par ilalaina dans le forum Administration
    Réponses: 3
    Dernier message: 20/06/2008, 11h19
  2. appartenance dans une zone de liste
    Par ln0331 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 19/12/2007, 13h54
  3. Appartenance d'un élément à une liste
    Par Sarah221985 dans le forum Prolog
    Réponses: 1
    Dernier message: 19/11/2007, 23h14
  4. Afficher deux listes(par iterator) appartenant au meme bean
    Par christools7 dans le forum Struts 1
    Réponses: 3
    Dernier message: 24/09/2007, 12h21
  5. Réponses: 1
    Dernier message: 21/04/2007, 09h34

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