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 :

Comparer deux liste de int de tailles différentes


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2018
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2018
    Messages : 11
    Par défaut Comparer deux liste de int de tailles différentes
    Bonjour à tous !

    Bon voilà je viens de commencer la programmation (soyez indulgents avec moi, mon code n'est sûrement pas optimisé )
    J'ai réussi entre autres à comparer deux liste de tailles égales mais lorsque je change la taille de mes listes cela m'indique l'erreur suivante :
    File "C:/Users/tompr/Desktop/Mes documents/Python/Projet/Comparateur_int.py", line 21, in <module>
    if L1[k]==L2[k]:

    IndexError: list index out of range
    Je bloque à ce moment là et une aide pourrait être précieuse pour moi !

    Je vous remercie d'avance !

    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    L1=[1,2,3,5,6,7,8,10]
    L2=[1,2,3,5,6,7,8,45]
    max_liste = max(len(L1),len(L2))
    k=0
    indice_match=[]
    indice_missmatch =[]
    list_match=[]
    list_missmatch=[]
    list_missmatch_2=[]
     
     
     
    while k<max_liste:
        if L1[k]==L2[k]:
     
            indice_match.append(k)
            list_match.append(L1[k])
            k+=1
        else:
            indice_missmatch.append(k)
            list_missmatch.append(L1[k])
            list_missmatch_2.append(L2[k])
            k+=1
     
     
    pourcentage_match = (len(indice_match)/max_liste)*100
     
    print("A l'indice",indice_match,",les deux listes matchent entre elles. Valeur des balises :",list_match )
    print("A l'indice",indice_missmatch,"les deux listes ne matchent pas entre elles.\nValeurs des balises de la première liste:",list_missmatch,"\nValeurs des balises de la seconde liste:",list_missmatch_2 )
    print("Il y a",pourcentage_match,"% de match entre les 2 séquences")

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

    Citation Envoyé par TitomTommy Voir le message
    J'ai réussi entre autres à comparer deux liste de tailles égales mais lorsque je change la taille de mes listes cela m'indique l'erreur suivante : IndexError
    Si les deux listes sont de taille différente, vous ne pourrez comparer les éléments que sur la longueur de la plus petite liste.

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

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2018
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2018
    Messages : 11
    Par défaut
    Merci de ta réponse !


    Serait-il possible dans ce cas de rajouter des élements(nulles) dans la liste la moins longue afin que les 2 listes aient la même taille ?

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 754
    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 754
    Par défaut
    Citation Envoyé par TitomTommy Voir le message
    Serait-il possible dans ce cas de rajouter des élements(nulles) dans la liste la moins longue afin que les 2 listes aient la même taille ?
    Côté programmation, on fait ce qu'on veut... pourvu que le résultat obtenu ait du sens.
    Vous ne comparer pas deux listes L1 et L2: l'opérateur "==" suffit largement mais vous fabriquez une sorte de "distance" où L1 est égal à L2 sur N-positions.
    Dans ce cas, 1, 2, 3, 4, 5 doit être plus égal à 1, 2, 3, 4 qu'à 2, 3, 4, 5?

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

Discussions similaires

  1. Comparer deux listes
    Par timtim2007 dans le forum Prolog
    Réponses: 7
    Dernier message: 07/06/2019, 09h02
  2. Requete pour comparer deux listes
    Par Jean-Christoph dans le forum Langage SQL
    Réponses: 3
    Dernier message: 17/04/2008, 13h29
  3. Comparer deux listes de listes
    Par julien80 dans le forum Prolog
    Réponses: 5
    Dernier message: 05/03/2008, 18h18
  4. Réponses: 3
    Dernier message: 27/04/2007, 13h37
  5. [C# 2.0] Comparer deux listes
    Par Rodie dans le forum Windows Forms
    Réponses: 4
    Dernier message: 01/08/2006, 00h40

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