Maison >développement back-end >Tutoriel Python >Comment puis-je vérifier efficacement si tous les éléments d'une liste Python sont identiques ?
Comment déterminer si tous les éléments d'une liste sont égaux en Python
En Python, il est courant de rencontrer des listes contenant divers éléments de données . Souvent, nous devons déterminer si tous les éléments d’une liste sont égaux. Cela peut être utile pour la validation des données et les contrôles de cohérence.
Solutions pythoniques utilisant des itérateurs
L'approche la plus pythonique consiste à utiliser la fonction itertools.groupby() :
from itertools import groupby def all_equal(iterable): g = groupby(iterable) return next(g, True) and not next(g, False)
Cette solution parcourt la liste d'entrée, regroupant les éléments égaux à l'aide de groupby(). S'il n'existe qu'un seul groupe (tous les éléments sont égaux), la fonction renvoie True. Sinon, il renvoie False.
Vous pouvez également utiliser l'approche itérative suivante sans groupby() :
def all_equal(iterator): iterator = iter(iterator) try: first = next(iterator) except StopIteration: return True return all(first == x for x in iterator)
Solutions One-Liner
Python propose plusieurs solutions concises sur une seule ligne :
def all_equal2(iterator): return len(set(iterator)) <= 1 def all_equal3(lst): return lst[:-1] == lst[1:] def all_equal_ivo(lst): return not lst or lst.count(lst[0]) == len(lst) def all_equal_6502(lst): return not lst or [lst[0]]*len(lst) == lst
Performance Considérations
Le choix de la solution dépend de facteurs tels que la taille de la liste d'entrée et la répartition des éléments en son sein. Généralement, les solutions utilisant des itérateurs sont plus efficaces pour les grandes listes. Les solutions sur une seule ligne peuvent convenir aux listes plus petites ou lorsque la vitesse n'est pas un facteur critique.
Conclusion
Python propose plusieurs façons de vérifier si tous les éléments d'une liste sont égaux. L'approche la plus pythonique consiste à utiliser groupby() ou des itérateurs. Les solutions monolignes sont concises mais peuvent présenter certains inconvénients en termes de performances. Lorsque vous choisissez une solution, tenez compte des exigences spécifiques de votre application.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!