Différence entre deux listes
#1
Voici deux moyens d'avoir la différence entre deux liste, ou plus exactement la liste des éléments de la première liste qui n'appartiennent pas à la seconde.

Cette méthode n'est pas optimale du tout, mais fonctionne sur quasi toutes les versions de tcl :
tcl
proc ldiff {list1 list2} {
   foreach suppr $list2 {
      set ind [lsearch $list1 $suppr]
      set list1 [lreplace $list1 $ind $ind]
   }
   return $list1
}



Cette version est l'approche optimale, moins explicite pour le néophyte mais elle soulage l'eggdrop :
tcl
proc ldiff {list1 list2} {
   foreach element $list1 {
      if { !($element in $list2) } {
         lappend diff $element
      }
   }
   return $diff
}


  Répondre   Avertir


Sujets apparemment similaires...
Sujet Auteur Réponses Affichages Dernier message
  Intersection de listes CrazyCat 0 974 02/03/2017, 10:04
Dernier message: CrazyCat
  Convertir des nombres entre différentes bases numériques MenzAgitat 0 2,710 23/07/2014, 17:57
Dernier message: MenzAgitat
  Combinaison de listes CrazyCat 0 2,139 29/11/2013, 17:26
Dernier message: CrazyCat

Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)