[i for i in l if i not in ll] |
Si le résultat n'est pas vide, ça veut dire que "l" n'est pas une sublist de "ll"
Exemple:
>>> l = ["a","b"]
>>> ll = ["a","b","c"]
>>> r = [i for i in l if i not in ll]
>>> if(r):
... print "Différents"
... else:
... print "Sublist"
...
Sublist
>>> lll = ["a","c","d"]
>>> r = [i for i in lll if i not in ll]
>>> if(r):
... print "Différents"
... else:
... print "Sublist"
...
Différents |
Et dans ton résultat ("r" chez moi) tu récupères tous les éléments de ta "sous liste" (potentielle) non présents dans ta liste de référence:
edit: en variante, tu peux en faire un détecteur d'intersection entre deux listes (suffit d'enlever les "in", le résultat contiendra tous les éléments communs aux deux listes, si résultat vide les ensembles des listes sont disjoints)
Message édité par masklinn le 28-07-2005 à 15:27:55
---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?