Vérification avec all() et zip()
Dans cette étape, vous allez apprendre à utiliser les fonctions all()
et zip()
pour vérifier si une liste est triée. Ces fonctions offrent un moyen concis et efficace de vérifier l'ordre des éléments dans une liste.
Tout d'abord, comprenons la fonction zip()
. La fonction zip()
prend plusieurs itérables (par exemple, des listes) en entrée et renvoie un itérateur de tuples, où chaque tuple contient les éléments correspondants des itérables d'entrée.
Considérez l'exemple suivant :
list1 = [1, 2, 3]
list2 = [4, 5, 6]
zipped = zip(list1, list2)
print(list(zipped))
Ajoutez ce code à votre fichier sort_list.py
, en remplaçant le contenu précédent. Ensuite, exécutez le script :
python sort_list.py
Vous devriez voir la sortie suivante :
[(1, 4), (2, 5), (3, 6)]
La fonction zip()
a créé un itérateur qui produit des tuples contenant les éléments correspondants de list1
et list2
.
Maintenant, comprenons la fonction all()
. La fonction all()
prend un itérable en entrée et renvoie True
si tous les éléments de l'itérateur sont vrais, et False
sinon.
Considérez l'exemple suivant :
bool_list = [True, True, True]
print(all(bool_list))
bool_list = [True, False, True]
print(all(bool_list))
Ajoutez ce code à votre fichier sort_list.py
et exécutez-le :
python sort_list.py
Vous verrez la sortie suivante :
True
False
Maintenant, combinons zip()
et all()
pour vérifier si une liste est triée. L'idée est de comparer chaque élément avec l'élément suivant dans la liste et de vérifier si la liste est en ordre croissant.
numbers = [1, 2, 3, 4, 5]
is_sorted = all(numbers[i] <= numbers[i+1] for i in range(len(numbers)-1))
print(is_sorted)
numbers = [1, 2, 5, 4, 5]
is_sorted = all(numbers[i] <= numbers[i+1] for i in range(len(numbers)-1))
print(is_sorted)
Modifiez votre fichier sort_list.py
pour inclure ce code. Exécutez le script à nouveau :
python sort_list.py
Vous devriez voir la sortie suivante :
True
False
Ce code utilise une expression génératrice avec zip()
pour comparer les éléments adjacents de la liste. La fonction all()
vérifie ensuite si toutes les comparaisons sont vraies, ce qui indique que la liste est triée.
Cette approche offre un moyen concis et efficace de vérifier si une liste est triée en Python.