Partage
  • Partager sur Facebook
  • Partager sur Twitter

Transformation de listes

    24 février 2016 à 15:36:33

    Bonjour à tous,

    Après plusieurs heures de galère totalement vaines, je viens solliciter votre aide. J'aimerais transformer une liste (appelons la L) contenant des listes de nombres entiers. Disons que si deux entiers se trouvent dans une sous liste de L, ils sont dits équivalents. J'aimerais obtenir L transformée, contenant les listes d'entiers équivalents présents dans L, et ce sans aucuns doublons. Je vous donne un exemple, car c'est assez difficile à expliquer :

    L = [ [1,2,2] , [2,3,6] , [7,8,4] , [9,8] , [11,12,10] ]

    Ici, l'entier 2 apparaît dans la première et la deuxième sous liste de L : donc les entiers 1,2,3,6 sont équivalents

    De même, 7,8,4,9 sont équivalents, et 11,12,10 aussi.

    Et j'aimerais avoir la liste [ [1,2,3,6] , [7,8,4,9] , [11,12,10] ] (l'ordre à l'intérieur des listes n'est pas important)

    Et j'avoue que j'ai vraiment du mal à coder ça sans omettre un paramètre...

    Pouvez vous m'aider, s'il vous plaît ?

    Merci !

    • Partager sur Facebook
    • Partager sur Twitter
      24 février 2016 à 17:26:35

      Puisque l'ordre n'est pas important, tu peux utiliser pleinement les set. Regarde ce lien qui décrit les méthodes de cet objet. Pour l'exemple:

      lst = [1, 2, 3, "a", "b", "z"]
      chn = "ABCDz"
      
      set(lst).intersection(chn)
      • Partager sur Facebook
      • Partager sur Twitter
      Précepte: Le mieux est l'ennemi du bien

      Transformation de listes

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown