Suprimer les doublon d'une liste en python

Résolu
leonard da vinci -  
 psyphi -
bonjour a tous
je cré dans un script une liste de lien
mon probleme est que je ne sais virer les doublons de la liste
merci pour toute aide

6 réponses

  1. ychaouche
     
    Oui il y a plus simple en une seule ligne : list(set(maliste))

    >>> l = [1,2,3,4,5,4,65,43,3,4,34,54,3,4,1,3,13,1,2]
    >>> list(set(l))
    [1, 2, 3, 4, 5, 65, 43, 34, 13, 54]
    >>>
    46
    1. kilian Messages postés 8675 Date d'inscription   Statut Modérateur Dernière intervention   1 526
       
      Ah ben oui j'y avais pas pensé. Je devrais utiliser plus souvent les ensembles.
      0
    2. Lou
       
      Bonjour,

      Votre solution pour supprimer les doublons marche très bien, par contre quand je l'applique, j'obtiens les résultats dans le désordre, comment faire svp ? voici mon code sous Python:

      p = 'L45446'
      for element in p:
      p = list(set(p))
      print p

      j'obtiens :
      ['5', '4', 'L', '6']

      alors que je voudrais avoir
      L456

      en fait, peut-être que ce n'est pas la bonne solution pour moi car je cherche à supprimer les doublons dans une chaîne de caractères, pas dans une liste et je veux qu'ensuite la chaîne résultante garde l'ordre de départ.

      Je débute complètement, je suis désolée si mes questions sont très basiques.
      Merci d'avance de tout aide.
      0
      1. raspoute Messages postés 875 Statut Contributeur 74 > Lou
         
        Bonjour,

        voilà une solution adaptée aux chaînes

        p='L45446'
        p1=''
        for el in p:
            if el in p1:
                pass
            else:
                p1+=el
        print p1
        

        0
      2. Lou352 Messages postés 1 Statut Membre > Lou
         
        ne vous embêtez pas à me répondre, j'ai trouvé ma solution, merci et bonne journée à tous.

        Lou
        0
    3. David
       
      oui c bien ? mais quand ta liste contient une sous liste sa marche pas ?

      Exp: G=[['1','2'],['1','2'], ['10','2']]

      ni int() ni sort() ne marche aussi

      dommage

      j'essaye de régler ça avec des boucles, ça bug !

      a+
      0