[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
---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody