Partage
  • Partager sur Facebook
  • Partager sur Twitter

Liste chainée en python

    10 février 2014 à 1:49:29

    Bonjour,

    J'apprends le python actuellement, je souhaiterais savoir si il existe en python la même chose qu'en C, les strutures ? 

    Je souhaite faire une liste chainée de strures en python du genre :

    [] = une cellule

    ["name" : "nbr"] - ["name" - "nbr"] et ainsi de suite.

    J'ai trouver une forme de liste avec "list.append(elem)", mais cela efface ma liste, et ne corresponds pas vraiment à ce que j'attends.

    Merci d'avance !

    • Partager sur Facebook
    • Partager sur Twitter
      10 février 2014 à 9:30:36

      Bonjour.

      Il existe mieux que les structures : les classes :-°

      • Partager sur Facebook
      • Partager sur Twitter
      Angular 2 est l'avenir, jQuery c'est de la merde !!! - Java 8 c'est l'an 2016+ (programmez en 1 ligne)
        10 février 2014 à 13:44:44

        Tu les utiliserais comment alors ?
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          10 février 2014 à 14:01:35

          Python n'est pas C. Il ne faut pas penser comme en C.

          Il va falloir que tu nous en dises un peu plus sur les données que tu veux manipuler et comment tu veux les manipuler pour que l'on puisse t'aider à choisir la bonne structure de données. À priori, la classe dict pourrait surement te convenir... à priori.

          -
          Edité par Anonyme 10 février 2014 à 14:02:23

          • Partager sur Facebook
          • Partager sur Twitter
            10 février 2014 à 14:13:34

            Tu crées une classe qui est un élément de la liste : stocke l'objet et un lien vers l'élément suivant (null si dernier)
            Tu crées une classe qui manipule ces éléments : lien vers le 1er élément, méthodes de manipualtion.
            La base :

            class Element:
            	def __init__(self):
            		self.value = None
            		self.next = None
            
            class Liste:
            	def __init__(self):
            		self.first = None
            	
            	def append(self, value):
            		element = Element()
            		element.value = value
            		element.next = None
            		if self.first is None:
            			self.first = element
            		else:
            			ptr = self.first
            			while ptr.next is not None:
            				ptr = ptr.next
            			ptr.next = element


            J'imagine que tu souhaites réimplémenter toi-même cette structure pour apprendre.
            Si c'est uniquement pour l'utiliser alors comme le dit PsycoPy tu peux utiliser des structures de données existantes.

            -
            Edité par Pinguet62 10 février 2014 à 14:16:37

            • Partager sur Facebook
            • Partager sur Twitter
            Angular 2 est l'avenir, jQuery c'est de la merde !!! - Java 8 c'est l'an 2016+ (programmez en 1 ligne)
            Anonyme
              10 février 2014 à 14:35:52

              Il faudrait déjà être d'accord sur ce qu'est une liste chaînée, parce que c'est tout à fait ce que sont les listes de Python (enfin presque).

              • Partager sur Facebook
              • Partager sur Twitter

              Liste chainée en python

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown