Maison >développement back-end >Tutoriel Python >Comment puis-je vérifier efficacement si tous les éléments d'une liste Python sont égaux ?
Vérification de l'égalité des éléments d'une liste
En Python, déterminer si tous les éléments d'une liste sont égaux peut être obtenu en utilisant différentes approches. Une méthode recommandée consiste à utiliser la fonction itertools.groupby(). Cette fonction regroupe des éléments consécutifs avec des valeurs identiques, renvoyant une séquence de tuples contenant des clés de groupe (valeurs d'éléments) et leurs groupes respectifs.
from itertools import groupby def all_equal(iterable): g = groupby(iterable) return next(g, True) and not next(g, False)
Ce code vérifie s'il n'y a qu'un seul groupe dans la liste, indiquant que tous les éléments sont égaux. Si tel est le cas, il renvoie True ; sinon, il renvoie False en utilisant la propriété d'évaluation de court-circuit.
Vous pouvez également utiliser une solution plus concise 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)
Cette approche initialise un itérateur et récupère le premier élément. Par la suite, il parcourt les éléments restants, en les comparant au premier. Si une différence est rencontrée, la fonction renvoie False ; sinon, il renvoie True.
Bien que ces méthodes soient efficaces, il existe des solutions alternatives que vous pouvez envisager :
Ces alternatives peuvent être moins gourmandes en mémoire et produire des caractéristiques de performances différentes. Cependant, il est important de considérer leurs limites, telles que les copies de mémoire potentielles et leur efficacité variable selon la nature de la liste.
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!