Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Itérables Python : Compréhension des Séquences et des Structures de Données | Itérateurs et Générateurs
Quizzes & Challenges
Quizzes
Challenges
/
Concepts Avancés de Python

bookItérables Python : Compréhension des Séquences et des Structures de Données

Que sont les itérables ?

En Python, les itérables sont des objets pouvant être parcourus ou itérés, retournant leurs éléments un par un. Cette capacité à produire un élément à la fois les rend essentiels pour des tâches telles que la boucle, la compréhension et le dépaquetage.

Quelques exemples courants d'itérables :

  • Structures de données : listes, tuples, dictionnaires, ensembles ;
  • Chaînes de caractères : produisent leurs caractères un par un ;
  • Objets personnalisés : rendus itérables en implémentant la méthode __iter__.

Une caractéristique clé des itérables est qu'ils ne "mémorisent" pas intrinsèquement leur position lors du parcours. Pour parcourir effectivement leurs éléments, ils nécessitent un itérateur.

1234567
numbers = [1, 2, 3, 4] for num in numbers: print(num) title = "codefinity" for char in title: print(char)
copy

La boucle for parcourt automatiquement les éléments de l’itérable et les traite un par un.

Lorsque Python traite un itérable, il convertit l’objet en un itérateur à l’aide de la fonction iter(). En interne, iter() appelle la méthode __iter__() de l’objet. De même, la fonction next() récupère la valeur suivante de l’itérateur en appelant sa méthode __next__().

Voici un exemple illustrant ce fonctionnement :

12345678910
numbers = [1, 2, 3, 4] # Converting the list to an iterator numbers_iterator = iter(numbers) # Accessing elements one at a time using `next()` print(next(numbers_iterator)) # Output: 1 print(next(numbers_iterator)) # Output: 2 print(next(numbers_iterator)) # Output: 3 print(next(numbers_iterator)) # Output: 4 print(next(numbers_iterator)) # Output: StopIteration
copy

Itérables vs. Itérateurs

Bien que tous les itérateurs soient des itérables, tous les itérables ne sont pas des itérateurs. Un itérateur mémorise sa position lors du parcours et permet d'accéder aux éléments de manière séquentielle jusqu'à la fin.

Limite des itérables

Lors du traitement de grands ensembles de données, stocker tous les éléments dans un itérable comme une liste peut s'avérer inefficace. Par exemple, si la séquence de nombres est générée dynamiquement ou trop volumineuse pour tenir en mémoire, il est nécessaire de traiter les éléments à la demande. C'est ici que les itérateurs (abordés dans le prochain chapitre) et l'évaluation paresseuse (présentée ultérieurement) deviennent essentiels.

Tâche

Swipe to start coding

Écrire un script Python pour simuler le lancer d’un dé à six faces mélangé à l’aide d’itérateurs. Complétez les parties manquantes du code pour créer un itérateur, récupérer les éléments avec next(), et gérer correctement la fin de l’itération.

  1. Une liste [1, 2, 3, 4, 5, 6] représente les faces d’un dé. La liste a déjà été mélangée avec random.shuffle().
  2. Convertissez la liste mélangée en itérateur afin de parcourir ses éléments un par un.
  3. Utilisez la fonction next() pour simuler le lancer du dé et afficher chaque face jusqu’à ce que toutes les faces aient été utilisées.
  4. Lorsque l’itérateur est épuisé, gérez l’exception StopIteration pour indiquer que les lancers sont terminés.

Solution

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 6. Chapitre 1
single

single

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

close

bookItérables Python : Compréhension des Séquences et des Structures de Données

Glissez pour afficher le menu

Que sont les itérables ?

En Python, les itérables sont des objets pouvant être parcourus ou itérés, retournant leurs éléments un par un. Cette capacité à produire un élément à la fois les rend essentiels pour des tâches telles que la boucle, la compréhension et le dépaquetage.

Quelques exemples courants d'itérables :

  • Structures de données : listes, tuples, dictionnaires, ensembles ;
  • Chaînes de caractères : produisent leurs caractères un par un ;
  • Objets personnalisés : rendus itérables en implémentant la méthode __iter__.

Une caractéristique clé des itérables est qu'ils ne "mémorisent" pas intrinsèquement leur position lors du parcours. Pour parcourir effectivement leurs éléments, ils nécessitent un itérateur.

1234567
numbers = [1, 2, 3, 4] for num in numbers: print(num) title = "codefinity" for char in title: print(char)
copy

La boucle for parcourt automatiquement les éléments de l’itérable et les traite un par un.

Lorsque Python traite un itérable, il convertit l’objet en un itérateur à l’aide de la fonction iter(). En interne, iter() appelle la méthode __iter__() de l’objet. De même, la fonction next() récupère la valeur suivante de l’itérateur en appelant sa méthode __next__().

Voici un exemple illustrant ce fonctionnement :

12345678910
numbers = [1, 2, 3, 4] # Converting the list to an iterator numbers_iterator = iter(numbers) # Accessing elements one at a time using `next()` print(next(numbers_iterator)) # Output: 1 print(next(numbers_iterator)) # Output: 2 print(next(numbers_iterator)) # Output: 3 print(next(numbers_iterator)) # Output: 4 print(next(numbers_iterator)) # Output: StopIteration
copy

Itérables vs. Itérateurs

Bien que tous les itérateurs soient des itérables, tous les itérables ne sont pas des itérateurs. Un itérateur mémorise sa position lors du parcours et permet d'accéder aux éléments de manière séquentielle jusqu'à la fin.

Limite des itérables

Lors du traitement de grands ensembles de données, stocker tous les éléments dans un itérable comme une liste peut s'avérer inefficace. Par exemple, si la séquence de nombres est générée dynamiquement ou trop volumineuse pour tenir en mémoire, il est nécessaire de traiter les éléments à la demande. C'est ici que les itérateurs (abordés dans le prochain chapitre) et l'évaluation paresseuse (présentée ultérieurement) deviennent essentiels.

Tâche

Swipe to start coding

Écrire un script Python pour simuler le lancer d’un dé à six faces mélangé à l’aide d’itérateurs. Complétez les parties manquantes du code pour créer un itérateur, récupérer les éléments avec next(), et gérer correctement la fin de l’itération.

  1. Une liste [1, 2, 3, 4, 5, 6] représente les faces d’un dé. La liste a déjà été mélangée avec random.shuffle().
  2. Convertissez la liste mélangée en itérateur afin de parcourir ses éléments un par un.
  3. Utilisez la fonction next() pour simuler le lancer du dé et afficher chaque face jusqu’à ce que toutes les faces aient été utilisées.
  4. Lorsque l’itérateur est épuisé, gérez l’exception StopIteration pour indiquer que les lancers sont terminés.

Solution

Switch to desktopPassez à un bureau pour une pratique réelleContinuez d'où vous êtes en utilisant l'une des options ci-dessous
Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 6. Chapitre 1
single

single

some-alt