liste dans une liste ? - Python - Programmation
Marsh Posté le 28-07-2005 à 15:04:22
if (l in ll)==True:
mouahahah
if l in ll:
ça suffit
après tu veux faire quoi :
- inclusion ?
- l'ordre a une importance ?
Marsh Posté le 28-07-2005 à 15:15:13
[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"] |
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:
>>> r |
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)
Marsh Posté le 28-07-2005 à 15:23:05
> Masklin et Taz, merci beaucoup... j'étudie cela en détail.
Marsh Posté le 28-07-2005 à 15:24:24
"if not(i in ll)"
beurk. Parenthèses inutile. Pis encore : est-ce que tu t'exprimes comme ça ? non, moi je dis plutot "if i not in ll"
Marsh Posté le 28-07-2005 à 15:27:07
Taz a écrit : "if not(i in ll)" |
J'avais déjà corrigé quand t'as posté ça, vil brequin
(j'étais plus sûr de la validité de "i not in ll" sur mon premier jet, j'utilise trop de langages pourris ces temps ci )
edit: ah merde, en fait j'avais oublié de corriger la toute première occurence, j'avais corrigé que l'exemple
Marsh Posté le 28-07-2005 à 15:35:09
Ok, Masklinn, merci beaucoup, je viens de comprendre.
Alors pour ceux qui comme moi ont du mal
[i for i in l if not(i in ll)] signifie :
[] on renvoie une liste
[i] on renvoie une liste des i
[i for i in l] on renvoie une liste des 'i' contenus dans 'l'
[i for i in l if not(i in ll)] on renvoie une liste des 'i' contenus dans 'l' SI ces i ne sont pas dans ll.
C'est vraiment impressionnant de concision et d'efficacité. Merci encore.
Marsh Posté le 28-07-2005 à 15:37:45
Ok, Masklinn, merci beaucoup, je viens de comprendre.
Alors pour ceux qui comme moi ont du mal
[i for i in l if i not in ll] signifie :
[] on renvoie une liste
[i] on renvoie une liste des i
[i for i in l] on renvoie une liste des 'i' contenus dans 'l'
[i for i in l if i not in ll] on renvoie une liste des 'i' contenus dans 'l' SI ces i ne sont pas dans ll.
C'est vraiment impressionnant de concision et d'efficacité. Merci encore.
edit : je tiens compte de la remarque de Taz.
Marsh Posté le 28-07-2005 à 15:46:44
Ca porte un nom et c'est dans la doc hein
Accessoirement, je ne peux que trop te conseiller:
1- le Python Tutorial, t'en as bien besoin (paske tu codes du Java en Python )
2- Dive Into Python
Marsh Posté le 28-07-2005 à 13:20:50
Bonjour à tous et à toutes !
Je me demandais quelle était la méthode la plus simple pour vérifier qu'une liste était présente dans une liste.
Le programme suivant ne 'marche' pas :
Avez-vous une idée plus élégante que la comparaison systématique de chaque élément de la liste, du genre :
J'ai l'impression que c'est bien lourd... une idée ?