Lorsque vous travaillez avec des itérables Python, trouver le nombre d'éléments contenus dans les itérables est une opération courante. Apprenez à utiliser les fonctions intégrées de Python len pour trouver la longueur des itérables et bien plus encore.
Python propose une suite de structures de données intégrées et un ensemble de méthodes pour travailler avec eux. De plus, il existe des fonctions intégrées qui sont utiles lorsque vous travaillez avec ces structures de données. Une telle fonction est len()
qui donne le nombre d'éléments présents dans un itérable.
Dans ce tutoriel, nous allons apprendre à utiliser le len()
fonction avec des listes, des tuples, des chaînes, etc. Nous verrons également quelques cas d'utilisation courants.
Commençons !👩🏫
Syntax of the Python len() Function
Voici la syntaxe pour utiliser Python len fonction:
len(iterable)
Comme on le voit, le len()
fonction a besoin un paramètre, qui est tout itérable valide. L'itérable fait souvent partie d'une liste, d'un tuple ou d'une chaîne. Mais il peut aussi s'agir de tout autre type valide.
On voit que la syntaxe pour utiliser le len()
la fonction est super simple. Passons ensuite au code de quelques exemples.
📑 Pour les exemples de code de ce tutoriel, vous pouvez coder dans un REPL Python.
Using the len() Function with Iterables

Avec séquences
Vous pouvez utiliser le len()
pour trouver la longueur des itérables tels que les listes, les tuples et les chaînes.
Voici un exemple :
>>> nums = [9,3,6,1,2]
>>> len(nums)
5
>>> nums_tup = (9,3,6,1,2)
>>> len(nums_tup)
5
Pour ces structures de données qui stockent une séquence, vous accéderez généralement aux éléments à l'aide de leur index ou obtiendrez une tranche (sous-séquence) selon vos besoins.
Avec d'autres collections
Vous pouvez également utiliser la len()
fonctionner avec d'autres collections Python comme ensembles et Dictionnaires.
Ces structures de données sont des collections non ordonnées. Bien que vous ne soyez peut-être pas intéressé par la commande des articles, il est toujours utile d'obtenir le nombre total d'articles de la collection.
>>> nums_set = set(nums)
>>> len(nums_set)
5
>>> prices = {'Notebook':5,'Pencil case':7,'Bookmarks':3,'Pens':1,'Markers':8}
>>> len(prices)
5
Common Use Cases of the Python len() Function
Jusqu'à présent, nous avons vu des exemples simples d'utilisation de len()
fonction pour obtenir le nombre d'éléments dans un itérable. Voyons maintenant où nous pouvons l'utiliser en pratique.
# 1. Itération à l'aide de boucles For
Python pour la boucle fournit une construction pour parcourir les itérables dans le pour un élément dans la syntaxe itérable. Mais si vous souhaitez accéder à l'index de chaque élément au lieu de l'élément lui-même ou à la fois l'index et les éléments ensemble, vous pouvez utiliser le range()
fonction comme indiqué :
>>> nums = [9,2,4,7,8]
>>> for i in range(len(nums)):
... print(f"Index {i}: {nums[i]}")
Parce que range(N)
donne la suite d'entiers 0,1,2,…,N – 1, en utilisant range(len(nums))
nous donne l'ensemble des indices valides à parcourir.
# Output
Index 0: 9
Index 1: 2
Index 2: 4
Index 3: 7
Index 4: 8
Cependant, la méthode Pythonic recommandée pour accéder à la fois à l'index et à l'élément utilise le fonction d'énumération:
>>> nums = [9,2,4,7,8]
>>> for idx,num in enumerate(nums):
... print(f"Index {idx}: {num}")
# Output
Index 0: 9
Index 1: 2
Index 2: 4
Index 3: 7
Index 4: 8
# 2. Boucle conditionnelle à l'aide de boucles While
Supposons que vous ayez une liste de nombres nums
. La méthode des listes pop()
supprime le dernier élément de la liste et le renvoie.
Tant que la longueur du nums
liste len(nums)
est supérieur à zéro - il y a au moins un élément qui peut être supprimé.
>>> nums = [9,2,4,7,8]
>>> while len(nums) > 0:
... nums.pop()
# Output
8
7
4
2
9
L'exemple ci-dessus est une manière plus explicite d'écrire ce qui suit :
>>> nums = [9,2,4,7,8]
>>> while nums:
... nums.pop()
while nums:
est équivalent à la condition "tant que la liste des chiffres n'est pas vide".
# 3. Vérification et validation de la longueur des itérables
Une autre utilisation courante de la fonction len consiste à vérifier et à valider la longueur de certains itérables.
Ici, nous vérifions si username
est une chaîne valide basée sur la longueur (calculée à l'aide de la len()
une fonction):
>>> username = "another-random-user"
>>> if len(username) > 10:
... print("Username too long; should be 10 characters long at max.")
... elif len(username) < 5:
... print("Username too short; should be at least 5 characters long.")
... else:
... print("Valid username!")
Username too long; should be 10 characters long at max.
# 4. Compréhensions de listes et de dictionnaires
Les compréhensions en Python fournissent une syntaxe concise pour construire de nouveaux itérables à partir de ceux existants. Nous pouvons utiliser des fonctions intégrées dans une expression de compréhension.
Compréhension de liste
Dans ce nouvel article concernant notre nouveau projet compréhension de la liste, nous utilisons le len()
fonction pour obtenir la longueur de chaque chaîne dans le languages
liste.
>>> languages = ['Python','C','Rust','JavaScript']
>>> len_langs = [len(lang) for lang in languages]
>>> len_langs
[6, 1, 4, 10]
Compréhension du dictionnaire
Dans cette compréhension du dictionnaire, nous utilisons le languages
liste et le len()
fonction pour construire un dictionnaire :
>>> languages = ['Python','C','Rust','JavaScript']
>>> lang_len = {lang:len(lang) for lang in languages}
>>> lang_len
{'Python': 6, 'C': 1, 'Rust': 4, 'JavaScript': 10}
Ici, les clés et les valeurs sont respectivement les chaînes de langue et la longueur des chaînes de langue.
# 5. Paramètre clé dans le tri personnalisé
Python a la méthode sort() intégrée pour trier les listes Python en place et le sorted() une fonction pour trier les listes et autres itérables.
Dans les deux cas, vous pouvez utiliser le key
paramètre pour personnaliser le tri.
Ici, on trie languages
liste basée sur la longueur de la chaîne.
>>> languages = ['Python','C','Rust','JavaScript']
>>> languages.sort(key=len)
>>> languages
['C', 'Rust', 'Python', 'JavaScript']
Dans l'extrait ci-dessous, nous utilisons le sorted()
fonction pour obtenir une liste triée.
>>> languages = ['Hindi','English','German','French']
>>> sorted(languages,key=len)
['Hindi', 'German', 'French', 'English']
Dans cet exemple, 'Allemand' et 'Français' ont chacun 6 caractères. Parce que le sorted()
effectue un tri stable, l'ordre dans la liste d'origine est conservé.
# 6. Longueur des tableaux NumPy
Vous pouvez également utiliser la len()
fonctionner avec d'autres structures de données comme Tableaux NumPy.
>>> import numpy as np
>>> np_array = np.array([3,4,6,9])
>>> type(np_array)
<class 'numpy.ndarray'>
>>> len(np_array)
4
Dans ce cas, np_array
est un vecteur à 4 éléments. Donc len(np_array)
renvoie 4, le nombre d'éléments présents dans le tableau.
Une matrice est un tableau à deux dimensions.
Prenons l'exemple suivant. len(np_array)
est 2, qui est le nombre de lignes.
>>> matrix = [[1,2,3],[4,5,6]]
>>> np_array = np.array(matrix)
>>> np_array
array([[1, 2, 3],
[4, 5, 6]])
>>> len(np_array)
2
Pour comprendre, revenons à matrix
. Nous avons une structure de liste imbriquée où la liste externe contient deux listes imbriquées. Et le len()
La fonction renvoie le nombre d'éléments dans un conteneur (ici, il s'agit de deux listes) :
>>> help(len)
Help on built-in function len in module builtins:
len(obj, /)
Return the number of items in a container.
Cependant, lorsque vous commencez à travailler avec des tableaux multidimensionnels, il est recommandé d'utiliser le shape
attribut à la place.
>>> np_array.shape
(2, 3)
Common Pitfalls To Avoid When Using Python’s len() Function

Pour conclure notre discussion, passons en revue certains des pièges courants à éviter lors de l'utilisation de la fonction len en Python.
Utilisation de len() avec des types de données non itérables
Nous savons que la fonction len ne prend que des itérables valides comme argument. Cela signifie que si vous appelez la fonction len avec - un type de données invalide - qui n'est pas itérable, vous rencontrerez des erreurs.
Ces types non valides incluent les types de données de base tels que les entiers, les nombres à virgule flottante et les booléens :
>>> len(2)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: object of type 'int' has no len()
>>> len(True)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: object of type 'bool' has no len()
>>> len(3.14)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: object of type 'float' has no len()
En Python, les générateurs sont des choix économes en mémoire pour les cas d'utilisation qui nécessitent la génération de séquences. L'objet générateur renvoie les éléments de la séquence, à la demande, un élément à la fois. Mais les objets générateurs n'ont pas de longueur.
Vous rencontrerez donc des erreurs si vous essayez de calculer la longueur d'un objet générateur :
>>> nums_sq = (i*i for i in range(10))
>>> nums_sq
<generator object <genexpr> at 0x0157DBC0>
>>> len(nums_sq)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: object of type 'generator' has no len()
Utiliser len() avec des tuples de longueur un
Si vous insérez uniquement l'élément dans un tuple, Python l'interprète comme un élément unique et non comme un tuple.
Voici un exemple :
>>> nums = (1)
>>> len(nums)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: object of type 'int' has no len()
Ainsi, lorsque vous avez un tuple avec un seul élément, initialisez-le sous cette forme : tuple_name = (elt, )
pour qu'il soit interprété comme un tuple :
>>> nums = (1,)
>>> len(nums)
1
résumer
Voici un résumé de ce que nous avons couvert dans ce tutoriel :
- Vous pouvez trouver le nombre d'éléments dans n'importe quel itérable en utilisant le
len()
fonction en Python. La syntaxe pour utiliser la fonction de longueur est :len(any-valid-iterable)
. - Cela inclut des séquences telles que des listes, des tuples et des chaînes. Et d'autres collections telles que des dictionnaires et des ensembles.
- Les
len()
La fonction est couramment utilisée dans les boucles et les compréhensions. - Vous pouvez également utiliser la
len()
fonctionnent comme paramètre clé lorsque vous avez besoin de personnaliser le tri en fonction de la longueur. Par exemple : trier une liste de chaînes en fonction de leur longueur.
Ensuite, apprenez à utiliser La fonction sum() de Python.
-
Bala Priya est un développeur et rédacteur technique indien avec plus de trois ans d'expérience dans le domaine de la rédaction de contenu technique. Elle partage son apprentissage avec la communauté des développeurs en créant des didacticiels techniques, des guides pratiques, etc. lire la suite
-
Narendra Mohan Mittal est stratège principal en stratégie de marque numérique et éditeur de contenu avec plus de 12 ans d'expérience polyvalente. Il est titulaire d'un M-Tech (médaillé d'or) et d'un B-Tech (médaillé d'or) en informatique et ingénierie.
... lire la suite