Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3233 connectés 

  FORUM HardWare.fr
  Programmation
  Python

  copie de liste

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

copie de liste

n°1814925
handerwave​s
Posté le 21-11-2008 à 13:29:40  profilanswer
 

Hello,
 
 
liste 1 = [....]
liste 2 = liste 1
 
le problème c'est que ça ne crée pas une nouvelle liste mais juste un pointeur et que lorsque je modifie la liste 2 ca me modifie aussi la liste 1
comment faire à par copier une par une toutes les valeurs de la liste, es-ce qu il existe une fonction genre append() ?
 
Merci d'avance
 
Handerwaves

mood
Publicité
Posté le 21-11-2008 à 13:29:40  profilanswer
 

n°1814950
masklinn
í dag viðrar vel til loftárása
Posté le 21-11-2008 à 14:04:26  profilanswer
 

handerwaves a écrit :

Hello,
 
 
liste 1 = [....]
liste 2 = liste 1
 
le problème c'est que ça ne crée pas une nouvelle liste mais juste un pointeur et que lorsque je modifie la liste 2 ca me modifie aussi la liste 1
comment faire à par copier une par une toutes les valeurs de la liste, es-ce qu il existe une fonction genre append() ?
 
Merci d'avance
 
Handerwaves


list fait office de constructeur de base, convertisseur et constructeur par recopie:

Code :
  1. >>> a = range(5)
  2. >>> a
  3. [0, 1, 2, 3, 4]
  4. >>> a.append(5)
  5. >>> a
  6. [0, 1, 2, 3, 4, 5]
  7. >>> b = a
  8. >>> a, b
  9. ([0, 1, 2, 3, 4, 5], [0, 1, 2, 3, 4, 5])
  10. >>> a.append(6)
  11. >>> a, b
  12. ([0, 1, 2, 3, 4, 5, 6], [0, 1, 2, 3, 4, 5, 6])
  13. >>> b = list(a)
  14. >>> a, b
  15. ([0, 1, 2, 3, 4, 5, 6], [0, 1, 2, 3, 4, 5, 6])
  16. >>> a.append(7)
  17. >>> a, b
  18. ([0, 1, 2, 3, 4, 5, 6, 7], [0, 1, 2, 3, 4, 5, 6])
  19. >>>


Accessoirement, la terminologie est mauvaise, Python n'a pas de pointeurs, Python a des labels sur des objets, aka des références.
 
Faire b = a c'est simplement créer un label "b" référençant le même objet que le label "a"


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1815179
Taz
bisounours-codeur
Posté le 22-11-2008 à 00:05:53  profilanswer
 

a = b[:]

n°1819912
gzii
court-circuit
Posté le 01-12-2008 à 14:00:53  profilanswer
 

Oui d'ailleurs c'est quoi le plus "propre" ?
a = b[:] (que j'utilise aussi)
ou a = list(b) ?

n°1820003
Taz
bisounours-codeur
Posté le 01-12-2008 à 16:34:36  profilanswer
 

ben ça fait pas la même chose. [:] ne marche que si b est une liste.

n°1820084
gzii
court-circuit
Posté le 01-12-2008 à 17:47:59  profilanswer
 

Oui, je demandais pour le cas où b est une liste.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Python

  copie de liste

 

Sujets relatifs
mise a jour d'un champ input avec une liste deroulantePush_back copie?
[SQL] Faire ressortir une liste de donnée en fonction d'un champCréer une liste à plusieurs sélection unique sans appuis sur la touche
[XSL] Traitement différent dernier élément d'une listeProblème d'accents après copie d'une base [résolu]
[PHP] Récupérer fichier CSV à partir d'une adresse puis copie serveur[VBS] copie d'un fichier avec une liste d'utilisateur
Recherche de fichier, copie à l'aide d'une listeCopie d'une liste doublement chainée
Plus de sujets relatifs à : copie de liste


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)