Comment vérifier si une liste est vide en Python (Pythonic Truth Values)
Découvrez les méthodes les plus pythoniques pour vérifier si une liste est vide en Python. Comparez les vérifications booléennes implicites avec les comparaisons de longueur.
Aperçu
Dans le développement Python, vous devrez fréquemment vérifier si une liste contient des éléments avant de tenter de lire, modifier ou traiter son contenu. L'accès aux éléments d'une liste vide à l'aide de crochets (par exemple, `my_list[0]`) génère une `IndexError`, qui arrête l'exécution du programme. Par conséquent, la mise en œuvre de modèles de contrôle propres et défensifs est essentielle pour la stabilité des applications.
La manière la plus pythonique de vérifier si une liste est vide consiste à utiliser sa valeur booléenne implicite (vérité). En Python, les collections vides (y compris les listes, dictionnaires, tuples et ensembles) sont évaluées comme « False » dans un contexte booléen, tandis que les collections remplies sont évaluées comme « True ». L'écriture de « if not my_list : » est directe, hautement lisible et conforme aux directives PEP 8.
Tout en comparant la longueur de la liste à zéro (par exemple, `if len(my_list) == 0:`) ou en comparant la liste directement à un littéral de liste vide (par exemple, `if my_list == []:`) fonctionne également, ces approches sont généralement déconseillées car elles sont moins concises et peuvent être légèrement plus lentes. L'adoption des tests de valeur de vérité intégrés à Python rend votre code plus propre et plus efficace.
Sortie de code et d'exécution
Ce script montre différentes méthodes pour vérifier si une liste est vide en Python.
empty_list = []
full_list = [10, 20, 30]
# Method 1: The Pythonic Way (Implicit boolean check)
if not empty_list:
print("empty_list is indeed empty!")
if full_list:
print("full_list has elements inside!")
# Method 2: Length comparison (Less Pythonic, but functional)
if len(empty_list) == 0:
print("Length of empty_list is 0.")empty_list is indeed empty!
full_list has elements inside!
Length of empty_list is 0.Mise en œuvre étape par étape
- Écrivez if not my_list : pour vérifier si la liste est vide (approche la plus pythonique).
- Écrivez if my_list : pour vérifier si la liste contient un ou plusieurs éléments.
- Évitez d'utiliser len(my_list) == 0 ou my_list == [] pour vérifier le vide.
Foire aux questions
Pourquoi « if not my_list » est-il préféré à « if len(my_list) == 0 » ?
Il est plus lisible, idiomatique et légèrement plus rapide car il évite d’invoquer la fonction de recherche len() et la comparaison d’entiers.
Cette vérification fonctionne-t-elle pour d'autres collections comme des dictionnaires ou des tuples ?
Oui, exactement la même règle de véracité s'applique aux dicts vides ({}), aux tuples vides (()), aux ensembles vides (set()) et aux chaînes vides ("").
Sujets connexes
Apprenez à trouver la longueur d'une liste en Python à l'aide de la fonction len(). Comprendre la complexité temporelle O(1) et les comptes de vérification.
Comment fusionner deux listes en PythonDécouvrez les meilleures façons de fusionner et de combiner deux listes en Python. Comparez l'opérateur plus, la méthode d'extension, le déballage de liste et les options de chaîne.
Ressources Python recommandées
Développez vos connaissances avec des didacticiels interactifs, des aide-mémoire et des comparaisons de codes associés.
Listes Python
Apprenez tout sur les listes Python. Découvrez comment créer, découper, modifier et parcourir des tableaux en Python de manière native.
Aide-mémoire sur les méthodes de liste Python
Guide de référence rapide pour les opérations de liste Python. Maîtrisez l’ajout, l’insertion, la suppression, le tri et le découpage d’éléments.
Python vs JavaScript : quel langage de programmation est le meilleur ?
Une comparaison complète entre Python et JavaScript. Explorez les différences de syntaxe, les performances, les cas d'utilisation (backend et frontend) et des exemples de codage.