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 :

Manipulation de deux listes de listes en paralléle [Python 2.X]


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Val de Marne (Île de France)

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

    Informations forums :
    Inscription : Juin 2017
    Messages : 28
    Par défaut Manipulation de deux listes de listes en paralléle
    Bonjour,

    Je suis entrain de manipuler deux listes de listes de même taille.
    Pour la première, je veux supprimer les éléments négatifs.
    Pour la deuxième, je veux supprimer les éléments ayant les même indices que les éléments supprimés dans la première liste.

    Un exemple:

    Si
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    A = [ [1,-1,2,4], [2,-2,-4,-5], [0,2,-5,4] ]
    B = [ [1,0,-1,5], [6,7,10,4],  [-5,7,2,1] ]
    Le résultat sera
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    A = [ [1,2,4], [2], [0,2,4] ]
    B = [ [1,-1,5], [6], [-5,7,1] ]
    J'ai commencé la première étape mais je n'arrive pas à supprimer les éléments dans la deuxième:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    for i in range(len(A)):
        A[i] = [x for x in A[i] if x >=0 ]
    J'espère que vous pouvez m'aider
    Merci

  2. #2
    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,

    Tu parcours les deux listes ensemble et tu crées d'abord la liste des index pour les supprimer avec pop.
    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
     
    >>> A = [ [1,-1,2,4], [2,-2,-4,-5], [0,2,-5,4] ]
    >>> B = [ [1,0,-1,5], [6,7,10,4],  [-5,7,2,1] ]
    >>> for a, b in zip(A, B):
    ...     idxs = [a.index(x) for x in a if x < 0]
    ...     for idx in reversed(idxs):
    ...             a.pop(idx)
    ...             b.pop(idx)
    ... 
    -1
    0
    -5
    4
    -4
    10
    -2
    7
    -5
    2
    >>> A
    [[1, 2, 4], [2], [0, 2, 4]]
    >>> B
    [[1, -1, 5], [6], [-5, 7, 1]]
    >>>

  3. #3
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Val de Marne (Île de France)

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

    Informations forums :
    Inscription : Juin 2017
    Messages : 28
    Par défaut
    Génial !!
    Merci beaucoup pour votre réponse !!

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

Discussions similaires

  1. Regrouper une liste en liste de listes
    Par West01 dans le forum Prolog
    Réponses: 12
    Dernier message: 14/03/2008, 14h07
  2. Synchroniser deux zones de listes en VBA
    Par gaelj dans le forum Access
    Réponses: 3
    Dernier message: 03/09/2006, 19h55
  3. Permuttez les éléments de deux zones de liste
    Par flo64 dans le forum Access
    Réponses: 4
    Dernier message: 01/06/2006, 09h15
  4. Faire passer des items entre deux zones de listes
    Par ludobado dans le forum Access
    Réponses: 8
    Dernier message: 04/05/2006, 18h33
  5. Mettre en relation deux zones de liste déroulante
    Par mfavier dans le forum Access
    Réponses: 2
    Dernier message: 25/04/2006, 11h49

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