Listes et booléens

Falsy et truthy

Si on met une liste vide, if se comportera comme si on avait mis une valeur fausse, et si la liste n’est pas vide , if se comportera comme si on avait mis une valeur vraie.:

ma_liste = [1, 2, 3]
if ma_liste:
    print("ma_liste est truthy")
else:
    print("ma_liste est falsy")
# affiche: ma_liste est truthy

mon_autre_liste = []
if mon_autre_liste:
    print("mon_autre_liste n'est pas vide")
else:
    print("mon_autre_liste est vide")
# affiche: mon_autre_liste est vide

On dit que les listes vides sont Falsy et les listes non-vides Truthy

Test d’appartenance

On peut tester si un élément est dans une liste avec le mot-clé in:

prénoms = ["Alice", "Bob"]
print("Alice" in prénoms)
# affiche: True

prénoms = ["Alice", "Bob"]
print("Charlie" in prénoms)
# affiche: False

Comparaisons de listes

On peut utiliser l’opérateur == avec deux listes de part et d’autres. Les listes seront considérées comme égales si

  • Elles ont la même taille

  • Tous leurs éléments sont égaux un à un en respectant l’ordre:

    x = [1]
    y = [1, 2]
    print(x == y)
    # Affiche False: x et y n'ont pas la même taille
    
    x = [1, 2]
    y = [1, 3]
    print(x == y)
    # Affiche False: x et y n'ont pas les mêmes éléments
    
    x = [1, 2]
    y = [2, 1]
    print(x == y)
    # Affiche False: x et y ont les mêmes éléments, mais
    # pas dans le bon ordre
    
    x = [1, 2]
    y = [1]
    y += [2]
    print(x == y)
    # Affiche True: x et y ont les mêmes éléments, dans le même ordre