Comment tester si tous les éléments d'une liste sont aussi dans une autre liste en python ?


Exemples de comment tester si tous les éléments d'une liste sont aussi dans une autre liste en python:

En utilisant la méthode issubset()

Considérons deux listes l1 et l2 quelconques et on veut vérifier que l1 est imbriquée ("nested" en anglais) dans l2 (c.a.d que tous les éléments de l1 sont également dans l2). Pour cela prenons, tout d'abord comme exemple:

l1 = [1,2,3,4]

et

l2 = [9,8,7,6,5,4,3,2,1]

Pour tester si l1 est imbriquée dans l2 il existe la fonction python issubset:

>>> l1 = [1,2,3,4]
>>> l2 = [9,8,7,6,5,4,3,2,1]
>>> set(l1).issubset(set(l2)) 
True

dans cet exemple la réponse est True. Inversement si on veut tester que l2 est un surensemble (superset) de l1 on peut aussi utiliser issuperset:

>>> l1 = [1,2,3,4]
>>> l2 = [9,8,7,6,5,4,3,2,1]
>>> set(l2).issuperset(set(l1)) 
True

Si on ajoute un élément dans l1 qui n'est pas dans l2:

>>> l1 = [1,2,3,4]
>>> l1.append(21)
>>> l1
[1, 2, 3, 4, 21]
>>> l2 = [9,8,7,6,5,4,3,2,1]
>>> set(l1).issubset(set(l2)) 
False

Références