Formations
Articles
Communauté

La certification qualité a été délivrée pour la catégorie d'actions « Actions de formation ».
Découvrez la fonction len en Python
La fonction len
est un outil essentiel dans la boîte à outils de tout développeur Python.
Elle permet de déterminer rapidement et facilement la taille de divers types de collections en Python, tels que les chaînes de caractères, les listes et les dictionnaires.
Dans cet article, nous aborderons la syntaxe de la fonction len
, comment l'utiliser avec différentes collections, comment éviter les erreurs courantes et comment implémenter la méthode __len__
sur vos propres classes.
De plus, nous examinerons plusieurs exemples concrets qui illustrent comment cette fonction peut être utilisée.
Quelle est la syntaxe de len?format_paragraph
La syntaxe de la fonction len
est simple.
taille = len(collection)
collection
représente un itérable dont vous voulez connaître la taille, et taille
est la variable qui stocke la taille de cet itérable.
Comment utiliser len sur des itérables ?format_paragraph
La fonction len
peut être utilisée avec plusieurs types de collections en Python.
Voici des exemples pour les chaînes de caractères, les listes, les tuples et les dictionnaires:
# Chaînes de caractères
texte = "Bonjour le monde"
taille_texte = len(texte)
print(taille_texte) # 16
# Listes
liste = [1, 2, 3, 4, 5]
taille_liste = len(liste)
print(taille_liste) # 5
# Tuples
tuple = (1, 2, 3, 4, 5)
taille_tuple = len(tuple)
print(taille_tuple) # 5
# Dictionnaires
dictionnaire = {'un': 1, 'deux': 2, 'trois': 3}
taille_dictionnaire = len(dictionnaire)
print(taille_dictionnaire) # 3
Remarquez que dans le cas d'un dictionnaire, la fonction len
nous retourne le nombre de paires clé:valeur contenues dans le dictionnaire.
Il faut noter également que la fonction len
ne retourne que le nombre d'éléments de premier niveau :
liste = [1, 2, [3, 4]]
taille_liste = len(liste)
print(taille_liste) # 3
Comment éviter les erreurs?format_paragraph
Certaines erreurs courantes lors de l'utilisation de la fonction len
sont les suivantes:
- Utiliser
len
avec des objets qui ne sont pas des itérables (ex: nombres entiers ou décimaux) - Oublier de définir la collection avant d'appeler
len
(ce qui résultera en unNameError
)
Comment implémenter len sur une classe?format_paragraph
Pour permettre à la fonction len
d'être utilisée avec des instances de vos propres classes, vous devez implémenter la méthode spéciale __len__
.
Voici un exemple d'une classe Panier
qui implémente cette méthode :
class Panier:
def __init__(self):
self.articles = []
def ajouter_article(self, article):
self.articles.append(article)
def __len__(self):
return len(self.articles)
Maintenant, vous pouvez utiliser la fonction len
avec des instances de la classe Panier
:
class Panier:
def __init__(self):
self.articles = []
def ajouter_article(self, article):
self.articles.append(article)
def __len__(self):
return len(self.articles)
panier = Panier()
panier.ajouter_article("pomme")
panier.ajouter_article("banane")
print(len(panier)) # Résultat: 2
Exemple concret d'utilisation de lenformat_paragraph
Dans cette section, nous allons examiner comment utiliser la fonction len
dans un cas concret.
Imaginons que nous ayons une liste de tâches à accomplir et que nous voulions créer une fonction pour afficher le pourcentage d'avancement basé sur le nombre de tâches terminées.
taches = [
{"nom": "Faire les courses", "termine": True},
{"nom": "Nettoyer la cuisine", "termine": False},
{"nom": "Arroser les plantes", "termine": True},
{"nom": "Appeler le plombier", "termine": False},
]
def pourcentage_avancement(taches):
termine = [tache for tache in taches if tache["termine"]]
return (len(termine) / len(taches)) * 100
print(pourcentage_avancement(taches)) # Résultat: 50.0
Dans cet exemple, nous utilisons la fonction len
pour calculer le nombre total de tâches et le nombre de tâches terminées, puis nous calculons le pourcentage d'avancement en divisant le nombre de tâches terminées par le nombre total de tâches.