Table des matières
Comment imprimer joliment une liste chaînée en Python ?
Étapes (algorithme)
Exemple
Sortie
Conclusion
Maison développement back-end Tutoriel Python Jolie impression de listes chaînées en Python

Jolie impression de listes chaînées en Python

Aug 28, 2023 am 08:33 AM
python Impression de listes chaînées

Jolie impression de listes chaînées en Python

L'impression d'une liste chaînée d'une manière bien formatée et lisible est cruciale à des fins de compréhension et de débogage, et cela peut être facilement réalisé à l'aide de la fonction d'impression Pretty de Python. Cet article explore comment implémenter une jolie impression de listes chaînées en Python.

En présentant les nœuds et leurs informations associées de manière organisée et visuellement attrayante, les développeurs peuvent facilement visualiser la structure des listes chaînées, aidant ainsi à comprendre et à résoudre efficacement les problèmes. Apprenez à utiliser la puissance de Python pour améliorer la clarté de vos listes chaînées.

Comment imprimer joliment une liste chaînée en Python ?

Voici les étapes que nous suivons pour imprimer joliment une liste chaînée en Python -

Étapes (algorithme)

  • Tout d'abord, nous définissons une classe appelée Node, qui représente un seul nœud dans une liste chaînée. Chaque nœud possède un pointeur suivant et des attributs de données.

  • Ensuite, nous définissons la classe LinkedList, qui gère les listes liées. Il possède un en-tête d'attribut qui pointe vers le premier nœud de la liste chaînée. Initialement, l'en-tête est défini sur Aucun pour indiquer une liste vide.

  • La méthode
  • add_node est utilisée pour ajouter des nœuds à la liste chaînée. Il prend des paramètres de données en entrée. Dans cette méthode, nous créons un nouvel objet Node avec les données données. Si la liste chaînée est vide (c'est-à-dire que la tête est None), nous définissons le nouveau nœud comme tête. Sinon, nous commençons par le début et passons au nœud suivant jusqu'à atteindre le dernier nœud, passant ainsi à la fin de la liste. Enfin, nous ajoutons le nouveau nœud à la fin de la liste en mettant à jour la propriété suivante du dernier nœud.

  • La méthode
  • pretty_print est utilisée pour imprimer la liste chaînée dans un format lisible. Si la liste chaînée est vide (c'est-à-dire que head est None), elle imprime un message indiquant que la liste chaînée est vide. Sinon, parcourez chaque nœud depuis le début. Il garde une trace des numéros de nœuds à l'aide d'une variable de comptage et imprime les données pour chaque nœud et son numéro correspondant. La méthode poursuivra ce processus jusqu'à ce qu'elle atteigne la fin de la liste.

  • La méthode
  • get_length calcule et renvoie la longueur de la liste chaînée. Il traverse chaque nœud en commençant par la tête, en incrémentant une variable de longueur pour chaque nœud rencontré. Enfin, il renvoie la longueur totale de la liste.

  • Ensuite, nous appelons la méthode pretty_print sur l'objet linked_list pour afficher le contenu de la liste. Cela imprimera les données pour chaque nœud et son numéro correspondant.

  • Enfin, nous appelons la méthode get_length de l'objet linked_list pour calculer et imprimer la longueur de la liste.

Si nous souhaitons modifier le programme, veuillez suivre les étapes ci-dessous -

  • Vous pouvez ajouter des méthodes supplémentaires pour effectuer diverses opérations sur la liste chaînée, telles que la recherche d'une valeur spécifique, la suppression d'un nœud ou l'insertion d'un nœud à un emplacement spécifique. Ces méthodes peuvent être ajoutées à la classe LinkedList.

  • Si vous souhaitez personnaliser la classe Node, vous pouvez ajouter plus de propriétés à la classe Node pour stocker des informations supplémentaires.

  • Vous pouvez améliorer la méthode Pretty_print pour afficher plus d'informations sur chaque nœud. Par exemple, vous pouvez imprimer l'adresse mémoire de chaque nœud ou imprimer des symboles fléchés pour indiquer les liens entre les nœuds.

  • Vous pouvez modifier la méthode add_node pour insérer des nœuds au début de la liste au lieu de la fin.

  • Vous pouvez mettre en œuvre des méthodes pour inverser une liste chaînée, fusionner deux listes chaînées ou diviser une liste chaînée en deux listes distinctes.

Exemple

Dans l'exemple d'utilisation ci-dessous, nous créons un objet LinkedList, ajoutons des nœuds avec les valeurs 10, 20, 30, 40 et 50, puis appelons la méthode pretty_print pour afficher la liste. Enfin, nous appelons la méthode get_length pour récupérer la longueur de la liste chaînée et l'imprimer.

class Node:
   def __init__(self, d):
      self.d = d
      self.next = None

class LinkedList:
   def __init__(self):
      self.head = None

   def add_node(self, d):
      new_node = Node(d)
      if self.head is None:
         self.head = new_node
      else:
         curr = self.head
         while curr.next:
              curr = curr.next
         curr.next = new_node

   def pretty_print(self):
      if self.head is None:	
         print("Linked list is empty.")
      else:
         curr = self.head
         count = 1
         while curr:
            print(f"Node {count}: {curr.d}")
            curr = curr.next
            count += 1

   def get_length(self):
      length = 0
      curr = self.head
      while curr:
         length += 1
         curr = curr.next
      return length


# Example usage
linked_list1 = LinkedList()
linked_list1.add_node(10)
linked_list1.add_node(20)
linked_list1.add_node(30)
linked_list1.add_node(40)
linked_list1.add_node(50)

linked_list1.pretty_print()
print(f"Length: {linked_list1.get_length()}")
Copier après la connexion

Sortie

Node 1: 10
Node 2: 20
Node 3: 30
Node 4: 40
Node 5: 50
Length: 5
Copier après la connexion

Conclusion

En résumé, nous pouvons dire qu'en implémentant une jolie fonctionnalité d'impression pour les listes chaînées en Python, les développeurs peuvent grandement améliorer la lisibilité et la visualisation de leurs structures de données. Une représentation de liste chaînée claire et organisée facilite la compréhension et le débogage, permettant une résolution efficace des problèmes. Grâce à la flexibilité de Python, améliorer la clarté des listes chaînées est une tâche simple pour tout programmeur.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Le plan Python de 2 heures: une approche réaliste Le plan Python de 2 heures: une approche réaliste Apr 11, 2025 am 12:04 AM

Vous pouvez apprendre les concepts de programmation de base et les compétences de Python dans les 2 heures. 1. Apprenez les variables et les types de données, 2. Flux de contrôle maître (instructions et boucles conditionnelles), 3. Comprenez la définition et l'utilisation des fonctions, 4. Démarrez rapidement avec la programmation Python via des exemples simples et des extraits de code.

Python: Explorer ses applications principales Python: Explorer ses applications principales Apr 10, 2025 am 09:41 AM

Python est largement utilisé dans les domaines du développement Web, de la science des données, de l'apprentissage automatique, de l'automatisation et des scripts. 1) Dans le développement Web, les cadres Django et Flask simplifient le processus de développement. 2) Dans les domaines de la science des données et de l'apprentissage automatique, les bibliothèques Numpy, Pandas, Scikit-Learn et Tensorflow fournissent un fort soutien. 3) En termes d'automatisation et de script, Python convient aux tâches telles que les tests automatisés et la gestion du système.

Méthode de Navicat pour afficher le mot de passe de la base de données MongoDB Méthode de Navicat pour afficher le mot de passe de la base de données MongoDB Apr 08, 2025 pm 09:39 PM

Il est impossible de visualiser le mot de passe MongoDB directement via NAVICAT car il est stocké sous forme de valeurs de hachage. Comment récupérer les mots de passe perdus: 1. Réinitialiser les mots de passe; 2. Vérifiez les fichiers de configuration (peut contenir des valeurs de hachage); 3. Vérifiez les codes (May Code Hardcode).

Comment utiliser Aws Glue Crawler avec Amazon Athena Comment utiliser Aws Glue Crawler avec Amazon Athena Apr 09, 2025 pm 03:09 PM

En tant que professionnel des données, vous devez traiter de grandes quantités de données provenant de diverses sources. Cela peut poser des défis à la gestion et à l'analyse des données. Heureusement, deux services AWS peuvent aider: AWS Glue et Amazon Athena.

Comment démarrer le serveur avec redis Comment démarrer le serveur avec redis Apr 10, 2025 pm 08:12 PM

Les étapes pour démarrer un serveur Redis incluent: Installez Redis en fonction du système d'exploitation. Démarrez le service Redis via Redis-Server (Linux / MacOS) ou Redis-Server.exe (Windows). Utilisez la commande redis-Cli Ping (Linux / MacOS) ou redis-Cli.exe Ping (Windows) pour vérifier l'état du service. Utilisez un client redis, tel que redis-cli, python ou node.js pour accéder au serveur.

Comment lire la file d'attente redis Comment lire la file d'attente redis Apr 10, 2025 pm 10:12 PM

Pour lire une file d'attente à partir de Redis, vous devez obtenir le nom de la file d'attente, lire les éléments à l'aide de la commande LPOP et traiter la file d'attente vide. Les étapes spécifiques sont les suivantes: Obtenez le nom de la file d'attente: Nommez-le avec le préfixe de "Fitre:" tel que "Fitre: My-Quyue". Utilisez la commande LPOP: éjectez l'élément de la tête de la file d'attente et renvoyez sa valeur, telle que la file d'attente LPOP: My-Queue. Traitement des files d'attente vides: si la file d'attente est vide, LPOP renvoie NIL et vous pouvez vérifier si la file d'attente existe avant de lire l'élément.

Comment afficher la version serveur de redis Comment afficher la version serveur de redis Apr 10, 2025 pm 01:27 PM

Question: Comment afficher la version Redis Server? Utilisez l'outil de ligne de commande redis-Cli --version pour afficher la version du serveur connecté. Utilisez la commande Info Server pour afficher la version interne du serveur et devez analyser et retourner des informations. Dans un environnement de cluster, vérifiez la cohérence de la version de chaque nœud et peut être vérifiée automatiquement à l'aide de scripts. Utilisez des scripts pour automatiser les versions de visualisation, telles que la connexion avec les scripts Python et les informations d'impression.

Dans quelle mesure le mot de passe de Navicat est-il sécurisé? Dans quelle mesure le mot de passe de Navicat est-il sécurisé? Apr 08, 2025 pm 09:24 PM

La sécurité du mot de passe de Navicat repose sur la combinaison de cryptage symétrique, de force de mot de passe et de mesures de sécurité. Des mesures spécifiques incluent: l'utilisation de connexions SSL (à condition que le serveur de base de données prenne en charge et configure correctement le certificat), à la mise à jour régulièrement de NAVICAT, en utilisant des méthodes plus sécurisées (telles que les tunnels SSH), en restreignant les droits d'accès et, surtout, à ne jamais enregistrer de mots de passe.

See all articles