Image de l'article Structures de données en Python : files d'attente

5.6. Structures de données en Python : files d'attente

Page 20 | Écouter en audio

5.6. Structures de données Python : files d'attente

La structure des données est une manière particulière de stocker et d'organiser les données sur un ordinateur afin qu'elles puissent être utilisées efficacement. En Python, l'une des structures de données les plus utilisées est la file d'attente. La file d'attente est une structure de données linéaire qui suit l'ordre d'opération FIFO (First In First Out), ce qui signifie que le premier élément inséré dans la file d'attente sera le premier à être supprimé.

Implémentation de files d'attente en Python

En Python, les files d'attente peuvent être implémentées de plusieurs manières, telles que des listes, collections.deque et la classe queue.Queue du module de file d'attente.

1. Files d'attente utilisant des listes

La manière la plus simple d'implémenter une file d'attente en Python consiste à utiliser une liste. Cependant, les listes ne sont pas efficaces à cette fin. Bien que les listes append et pop() soient rapides, l'insertion ou la suppression d'éléments depuis le début d'une liste est lente (car tous les autres éléments doivent être décalés).

# Création d'une file d'attente file d'attente = [] # Ajout d'éléments à la file d'attente file d'attente.append('a') file d'attente.append('b') file d'attente.append('c') print("File d'attente initiale", file d'attente) # Supprimer des éléments de la file d'attente print("\nÉléments retirés de la file d'attente") print(file d'attente.pop(0)) print(file d'attente.pop(0)) print("\nFile d'attente après suppression d'éléments", file d'attente)

2. Files d'attente utilisant collections.deque

Les files d'attente en Python peuvent être implémentées plus efficacement à l'aide de la classe collections.deque, conçue pour permettre des ajouts et des suppressions rapides des deux côtés.

à partir des collections importer deque # Création d'une file d'attente q = deque() # Ajout d'éléments à la file d'attente q.append('a') q.append('b') q.append('c') print("File d'attente initiale", q) # Supprimer des éléments de la file d'attente print("\nÉléments retirés de la file d'attente") imprimer(q.popleft()) imprimer(q.popleft()) print("\nFile d'attente après suppression d'éléments", q)

3. Files d'attente utilisant queue.Queue

La classe Queue du module queue est particulièrement utile dans la programmation multithread, où les objets Python, qui ne sont normalement pas thread-safe, sont manipulés. La classe Queue est thread-safe et peut être utilisée pour échanger des données entre plusieurs threads.

depuis la file d'attente d'importation # Création d'une file d'attente q = File d'attente() # Ajout d'éléments à la file d'attente q.put('a') q.put('b') q.put('c') print("File d'attente initiale", q) # Supprimer des éléments de la file d'attente print("\nÉléments retirés de la file d'attente") imprimer(q.get()) imprimer(q.get()) print("\nFile d'attente après suppression d'éléments", q)

En résumé, les files d'attente sont un outil utile en Python pour stocker et manipuler des données de manière organisée et efficace. Le choix de la mise en œuvre dépend des besoins spécifiques de votre programme, mais il est important de comprendre le fonctionnement de chacun pour faire le meilleur choix.

Répondez maintenant à l’exercice sur le contenu :

Quelle structure de données en Python suit l'ordre de fonctionnement FIFO (First In First Out) ?

Tu as raison! Félicitations, passez maintenant à la page suivante

Vous avez raté! Essayer à nouveau.

Image de l'article Structures de données en Python : arbres

Page suivante de lebook gratuit :

21Structures de données en Python : arbres

3 minutes

Obtenez votre certificat pour ce cours gratuitement ! en téléchargeant lapplication Cursa et en lisant lebook qui sy trouve. Disponible sur Google Play ou App Store !

Get it on Google Play Get it on App Store

+ 6,5 millions
d'étudiants

Certificat gratuit et
valide avec QR Code

48 mille exercices
gratuits

Note de 4,8/5 dans les
magasins d'applications

Cours gratuits en
vidéo, audio et texte