Introduction

Les listes sont l’une des quatre structures de données les plus utilisées fournies par Python. Ses fonctionnalités, son extensibilité et sa facilité d’utilisation la rendent utile pour mettre en œuvre divers types de fonctionnalités.

Les listes Python présentent quelques caractéristiques intéressantes :

  1. Mutabilité – c’est-à-dire qu’elle peut changer, ce qui nous permet d’y ajouter et d’en supprimer facilement des entrées. C’est la principale différence entre les listes Python et les tuples
  2. Itérabilité – ce qui signifie que nous pouvons itérer à travers elle (passer par tous les éléments de la liste dans l’ordre)

L’attribut principal sur lequel nous allons nous concentrer est l’itérabilité. Une partie importante lorsqu’on traite un objet itérable, dans ce cas une liste, est de vérifier s’il y a quelque chose à itérer. Si ce n’est pas géré correctement, cela peut conduire à beaucoup d’erreurs indésirables.

Python fournit différentes façons de vérifier si notre liste est vide ou non, certaines implicites et d’autres explicites, et dans cet article, nous allons passer en revue comment vérifier si une liste Python est vide.

  • Utilisation de la fonction len()
  • Utilisation de len() avec un opérateur de comparaison
  • Comparaison avec une liste vide
  • Pep-.8 Style recommandé (le plus populaire et conseillé)
  • Utilisation de la fonction bool()

Utilisation de la fonction len()

Une des techniques consiste à utiliser la fonction len() pour vérifier si notre liste est vide ou non :

py_list = """Here len() returns 0, which is implicitly converted to false"""if len(py_list):print('The list is not empty')else:print('T list is empty')

Sortie

List is empty

Lorsque len(py_list) s’exécute, elle produit zéro, qui est ensuite implicitement coulé dans la valeur booléenne de False. Ainsi, en cas de liste vide, le programme sera redirigé vers le bloc else.

Bien que cette méthode semble simple, elle n’est pas si intuitive pour les débutants.

Utilisation de len() avec l’opérateur de comparaison

Cette technique est similaire à celle ci-dessus mais elle est plus explicite et facile à comprendre. C’est pourquoi ceux qui sont nouveaux à python ou au codage lui-même considèrent généralement qu’elle est plus intuitive :

if len(py_list) == 0:print('List is empty')else:print('List not empty')

Dans le code ci-dessus, len(py_list) == 0 sera vrai si la liste est vide et sera redirigé vers le bloc else. Cela vous permet également de définir d’autres valeurs, plutôt que de compter sur le fait que 0 soit converti en False. Toutes les autres valeurs positives sont converties en True.

Comparaison avec une liste vide

Cette méthode est également très simple et fonctionne bien pour les débutants car elle implique la comparaison avec une liste vide :

if py_list == :print('List is empty')else:print('List is not empty')

Ici encore, nous utilisons l’opération de comparaison pour comparer une liste à une autre – vide, et si les deux sont vides, le bloc if s’exécutera.

Style recommandé par Pep-8

#PEP-8 recommended styleif py_list:print('List is not empty')if not py_list:print('List empty')

Pour cela, regardons le test des valeurs de vérité. La doc officielle indique que :

Voici la plupart des objets intégrés considérés comme faux :

  • constantes définies pour être fausses : None et False.
  • Zéro de tout type numérique : 0, 0,0, 0j, Décimal(0), Fraction(0, 1)
  • Séquences et collections vides :  », (), , {}, set(), range(0)

Comme une liste vide est en fait juste une collection vide, elle sera convertie en une valeur booléenne de False. Par conséquent, si py_list est vide, elle sera convertie en False.

La deuxième déclaration est assez similaire, sauf que not inversera la condition fausse en condition vraie. Cette approche est très similaire à l’approche if(len(list)).

C’est l’approche préférée car c’est la solution la plus propre et la plus courte qui existe.

Utilisation de la fonction bool()

Nous pouvons également utiliser la fonction bool() pour vérifier qu’une liste est vide :

#As truth value testing says braces denotes falseif bool(py_list):print('List is not empty')else:print('List is empty')

C’est essentiellement un test de valeur de vérité implémenté manuellement. Ainsi, si la liste n’est pas vide, la fonction retournera True et le bloc if sera exécuté.

Cette approche est moins courante car nous pouvons obtenir les résultats souhaités même sans utiliser bool(), mais ce n’est pas une mauvaise chose de savoir comment Python fonctionne sous le capot.

Conclusion

Cet article portait sur les façons de vérifier si notre liste python est vide ou non. Nous avons commencé par explorer différentes techniques et finalement examiner certains paramètres que nous pouvons utiliser pour faire notre jugement concernant la technique qui peut fonctionner pour nous.

Je ne peux pas dire que c’est la fin car les nouvelles mises à jour de Python peuvent donner lieu à de nouveaux styles de codage plus améliorés. Il est donc préférable de continuer à explorer et à apprendre.

La question est de savoir si l’on peut faire quelque chose.

Catégories : Articles

0 commentaire

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *