Vérification sur liste [Résolu]

Signaler
Messages postés
10
Date d'inscription
lundi 11 avril 2016
Statut
Membre
Dernière intervention
22 avril 2016
-
Almass26
Messages postés
10
Date d'inscription
lundi 11 avril 2016
Statut
Membre
Dernière intervention
22 avril 2016
-
Bonjour, j'ai un problème, je suis débutant en python et je n'arrive pas a vérifier l'existence d'une liste dans une autre...

Je vous laisse mon code pour y voir plus clair !

flotteDejaEnPlace = [['B2', 'B3', 'B4'], [], [], ['A1', 'B1', 'C1', 'D1'], []]
liste = ['A1', 'A2']

if liste in flotteDejaEnPlace:
print False
else:
print True



Si un élément de "liste" est déjà présent dans flotteDejaEnPlace je veux que sa m'affiche False, or à l'execution du code, il m'affiche True.
Je n'arrive pas à le faire fonctionner.

Je suis débutant !
Merci d'avance :)

1 réponse

Messages postés
107
Date d'inscription
mardi 30 juillet 2013
Statut
Membre
Dernière intervention
17 avril 2019
5
Bonjour,
1) liste n'existe pas dans flotteDejaEnPlace. Donc la réponse est True d'après ton programme.

2) Les éléments de "liste" sont 'A1' et 'A2' des chaines de caractères tandis que les éléments de "flotteDejaEnPlace" sont des listes donc :
réponse True

3) Par contre, si la question est que si l'un des éléments de "liste" existe dans l'une des listes de "flotteDejaEnPlace" : cela devra te donner False.

Voici une proposition pour les 3 cas :

flotteDejaEnPlace = [['B2', 'B3', 'B4'], [], [], ['A1', 'B1', 'C1', 'D1'], []]
liste = ['A1', 'A2']

resultat1=True
if liste in flotteDejaEnPlace:
resultat1=False
else:
resultat1=True
print 'resultat1 = ',resultat1


resultat2=True
for element in liste:
if element in flotteDejaEnPlace:
resultat2=False
break
print 'resultat2 = ',resultat2

resultat3=True
for element1 in liste:
for element2 in flotteDejaEnPlace:
if element1 in element2:
resultat3=False
break
if not resultat3:
break
print 'resultat3 = ',resultat3

# Mais en plus concis, cela ferait un truc comme ça :
resultat=True not in [i in j for j in flotteDejaEnPlace for i in liste]
print 'resultat = ',resultat




Bonne soirée.
HB
Almass26
Messages postés
10
Date d'inscription
lundi 11 avril 2016
Statut
Membre
Dernière intervention
22 avril 2016

Merci beaucoup !
Bonne journée et merci encore !