Partage
  • Partager sur Facebook
  • Partager sur Twitter

Supprimer un objet d'une liste

    18 juin 2017 à 12:23:55

    Bonjour j'aimerai savoir comment faire pour supprimer un objet que j'ai créé qui est présent dans une liste avec la méthode remove ?
    • Partager sur Facebook
    • Partager sur Twitter
      18 juin 2017 à 12:44:18

      Bonjour , la fonction remove () est utilisée pour supprimer une liste de valeurs du premier match.

      syntaxe:

      list.remove(obj)
      Exemple :
      >>> maListe = [1,2,3]
      >>> maListe.remove(2)
      >>> maListe
            
      [1, 3]
       Je te conseil de jeter un coup d'œil sur ça https://openclassrooms.com/courses/apprenez-a-programmer-en-python/les-listes-et-tuples-1-2 
      ça pourrait t'aider.
      ;)


      • Partager sur Facebook
      • Partager sur Twitter
      J’adorerais changer le monde, mais ils ne veulent pas me fournir le code source :-[
        18 juin 2017 à 12:46:54

        je sais mais mon n'objet n'est pas 1 2 ou 3 c'est un objet que j'ai créé donc je ne sais pas ce a quoi doit ressembler 'obj' dans liste.remove(obj)

        -
        Edité par Coliculus 18 juin 2017 à 12:48:06

        • Partager sur Facebook
        • Partager sur Twitter
          18 juin 2017 à 12:51:23

          Tu remplace simplement 1, 2 ou 3 par ton objet

          liste.remove("mon_objet")

          Montre nous ton code ce sera plus simple ^^

          -
          Edité par LoïcMacé 18 juin 2017 à 12:53:33

          • Partager sur Facebook
          • Partager sur Twitter
            18 juin 2017 à 12:53:31

            ok mais comme mon objet a été ajouté et créé directement dans le .append je fais comment ?
            • Partager sur Facebook
            • Partager sur Twitter
              18 juin 2017 à 12:56:26

              >>> liste = [1,2,3]
              >>> liste.append("objet")
              >>> liste
              liste = [1,2,3,"objet"]
              >>> liste.remove("objet")
              >>> liste
              liste = [1,2,3]
              
              • Partager sur Facebook
              • Partager sur Twitter
                18 juin 2017 à 13:04:29

                essaie:

                del maListe[numérodélément]

                -
                Edité par Mattxi 18 juin 2017 à 13:04:50

                • Partager sur Facebook
                • Partager sur Twitter

                La meilleure façon d'apprendre un langage de programmation, c'est de faire des programmes avec (c'est pas de moi, mais de Dennis Ritchie :p )

                  18 juin 2017 à 13:18:37

                  je ne connais pas le numero d'element les objet sont ajouté par l'utilisateur donc pas forcement dans l'ordre ( je pense que au pire je vais essayer avec un dico )

                  -
                  Edité par Coliculus 18 juin 2017 à 13:19:16

                  • Partager sur Facebook
                  • Partager sur Twitter
                    18 juin 2017 à 13:21:48

                    Tu peux me montrer le code source stp?
                    • Partager sur Facebook
                    • Partager sur Twitter

                    La meilleure façon d'apprendre un langage de programmation, c'est de faire des programmes avec (c'est pas de moi, mais de Dennis Ritchie :p )

                      18 juin 2017 à 13:27:08

                      CamilleCany2 a écrit:

                      ok mais comme mon objet a été ajouté et créé directement dans le .append je fais comment ?


                      Envoie nous ton code pour qu'on sache précisément ce qu'il faut faire.
                      • Partager sur Facebook
                      • Partager sur Twitter
                      J’adorerais changer le monde, mais ils ne veulent pas me fournir le code source :-[
                        18 juin 2017 à 13:39:23

                        if click=="ajouter":
                        				self.escouade_actu.append(Perso("Guerrier de feu",10,2,3,3,3,1,2,1,7,4,[],1,1))
                        
                        elif click=="enlever":
                        				self.escouade_actu.remove(???)

                        voila je cherche ce que je dois mettre à ???

                        -
                        Edité par Coliculus 18 juin 2017 à 13:40:01

                        • Partager sur Facebook
                        • Partager sur Twitter
                          18 juin 2017 à 13:43:12

                          Tu veux enlever des guerriers de feu/ des fées clochettes ou autres créatures flippantes de ton équipe?

                          Elles sont exprimées par quoi (liste, chaine de chr, entier...)

                          -
                          Edité par Mattxi 18 juin 2017 à 13:43:25

                          • Partager sur Facebook
                          • Partager sur Twitter

                          La meilleure façon d'apprendre un langage de programmation, c'est de faire des programmes avec (c'est pas de moi, mais de Dennis Ritchie :p )

                            18 juin 2017 à 13:44:51

                            par un objet de classe Perso

                            -
                            Edité par Coliculus 18 juin 2017 à 13:45:07

                            • Partager sur Facebook
                            • Partager sur Twitter
                              18 juin 2017 à 14:00:26

                              essaie avec une for:

                              for perso in self.escouade_actu:
                                  if perso.name==lenomquetuveuxsupprimer:
                                      self.escouade_actu.remove(perso)



                              • Partager sur Facebook
                              • Partager sur Twitter

                              La meilleure façon d'apprendre un langage de programmation, c'est de faire des programmes avec (c'est pas de moi, mais de Dennis Ritchie :p )

                                18 juin 2017 à 14:08:50

                                Ou encore

                                if perso in self.escouade_actu:
                                
                                    self.escouade_actu.remove(perso)

                                -
                                Edité par TyroneTrish 18 juin 2017 à 14:13:04

                                • Partager sur Facebook
                                • Partager sur Twitter
                                J’adorerais changer le monde, mais ils ne veulent pas me fournir le code source :-[
                                  18 juin 2017 à 14:09:48

                                  a ouais pourquoi pas mais j'ai peur que si on met beacoup de type ca soit un peu lent non ? et puis autre probleme les perso identique ont les meme non donc il vont tous disparaitre si je fais ca ...

                                  -
                                  Edité par Coliculus 18 juin 2017 à 14:10:57

                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    18 juin 2017 à 14:34:01

                                    Tout ceci démontre un problème de conception en amont de ce projet. Mais tu ne nous donnes que trop peu d'informations pour te venir en aide. Et tu sembles rechigner à nous montrer plus de code, ce qui n'est pas forcément un mal à condition que tu acceptes ce petit exercice, dans ton intérêt comme le notre :

                                    Essaye de reproduire ce problème avec un autre exemple qui n'aurait rien avoir avec ton projet en cours.

                                    Nous aurons plus d'élément pour t'aider, ou mieux encore, tu auras résolu le problème par toi-même.

                                    -
                                    Edité par IdiotBête 18 juin 2017 à 14:35:08

                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      18 juin 2017 à 14:38:42

                                      Pour mon astuce tu peux créer une variable hasdeleted qui passe à true quand un objet est effacé.
                                      • Partager sur Facebook
                                      • Partager sur Twitter

                                      La meilleure façon d'apprendre un langage de programmation, c'est de faire des programmes avec (c'est pas de moi, mais de Dennis Ritchie :p )

                                        18 juin 2017 à 15:13:51

                                        Je ne rechigne pas a montrer plus de code mais je ne vois pas quelle partie vous montrer ^^ si vous voulez plus d'information, je suis en train de coder la partie de mon programme qui permet de créer la liste de l'armée que le joueur vas utiliser dans le jeu qui se fais en tour par tour (et dont je n'est pas encore commencé le code). Ainsi l'utilisateur chemine à travers un menu, clique sur plein de bouton, et là je bloque un peu sur quoi faire quand il clique. Il y as 3 type de boutons, des case à cocher, des boutons + et - pour ajouter des types et des boutons > et < (à venir) pour switcher de personnage à éditer. J'en suis donc a essayer de regrouper dans des classes les différents personnage qu'il a pu créer

                                        je vous montre a quoi cela ressemble clique par clique

                                        -
                                        Edité par Coliculus 19 juin 2017 à 10:21:51

                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          18 juin 2017 à 20:11:35

                                          DONE MOI LE FICHIER; C'EST TROP STYLE!!!!!:waw::o

                                          Non sérieusement montre moi la classe Perso et la classe qui contient la liste "escouade_actu"

                                          -
                                          Edité par Mattxi 18 juin 2017 à 20:12:26

                                          • Partager sur Facebook
                                          • Partager sur Twitter

                                          La meilleure façon d'apprendre un langage de programmation, c'est de faire des programmes avec (c'est pas de moi, mais de Dennis Ritchie :p )

                                            19 juin 2017 à 9:51:45

                                            ^^ merci ! 

                                            la classe perso je l'avoue ne sert pas a grand chose pour l'instant mais la voila quand même

                                            class Perso:
                                            	def __init__(self,name,cout,cc,ct,f,e,pv,i,a,cd,svg,options,taille,diametre):
                                            		self.name=name
                                            		self.cout=cout
                                            		self.cc=cc
                                            		self.ct=ct
                                            		self.f=f
                                            		self.e=e
                                            		self.pv=pv
                                            		self.i=i
                                            		self.a=a
                                            		self.cd=cd
                                            		self.svg=svg
                                            		self.options=options
                                            		self.taille=taille
                                            		self.diametre=diametre
                                            	def __str__(self):
                                            		return str(self.__dict__)
                                            	def __repr__(self):
                                            		return str(self.__dict__)
                                            	def __getitem__(self,index):
                                            		if index=="options":
                                            			return self.options
                                            		else:
                                            			raise TypeError("Le seul index disponible est 'options'")

                                            par contre l'autre classe c'est un monstre de 900 ligne qui gère tout le menu de création de liste pour cette armée de a à z ... :)

                                            a par ca depuis hier j'ai finalement decider de faire un dico contenant en clé le nom et en valeur le perso ce qui me permet de les supprimer en virant la clé mais un autre probleme se pose si je souhaite ajouter une carabine sur un seul type viens un perso.options.append("carabine") ils se retrouvent tous avec une carabine, c'est peut être une propriété des classes que je ne connaissait pas ? ou alors ( et c'est plus probable) est-je fait une erreur ? ...

                                            -
                                            Edité par Coliculus 19 juin 2017 à 9:57:09

                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              19 juin 2017 à 15:11:17

                                              Rajoute juste une clé équipement.
                                              • Partager sur Facebook
                                              • Partager sur Twitter

                                              La meilleure façon d'apprendre un langage de programmation, c'est de faire des programmes avec (c'est pas de moi, mais de Dennis Ritchie :p )

                                                22 juin 2017 à 21:51:13

                                                Et bien je ne sais pas si c’est toi qui a fais dessiné les personnages mais ils sont top :o
                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                Anonyme
                                                  22 juin 2017 à 22:09:31

                                                  La question n'a pas été posée ! Sur quelle(s) condition(s) le personnage doit être supprimé ?

                                                  def delete(objects, attribute, value):
                                                      for obj in objects:
                                                          if hasattr(obj, attribute):
                                                              if getattr(obj, attribute) == value:
                                                                  objects.remove(obj)

                                                  Non testé évidemment, et on peut faire cela avec un bloc try-except selon la convenance.

                                                  La fonction delete supprimera tous les objets de la liste objects ayant l'attribut attribute et avec la valeur value.

                                                  -
                                                  Edité par Anonyme 22 juin 2017 à 22:53:58

                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                    24 juin 2017 à 18:53:28

                                                    Je ne les ai pas dessinés moi même je les ai pris en photo dans le livre de règles du jeu que je tente d'adapter puis modifié pour que ca colle avec mon ambiance (ombres , effet craie, constraste augmenté ...) ;) Merci oldProgrammer mais j'ai fais je ne sais trop quoi et depuis ca fonctionne je vous avoue que j'avance à tâtons, je n'avais encore jamais fais de projet d'une telle ampleur
                                                    • Partager sur Facebook
                                                    • Partager sur Twitter

                                                    Supprimer un objet d'une liste

                                                    × 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