Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1249 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"


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
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-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR