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

  FORUM HardWare.fr
  Programmation
  Python

  copier tuple dans liste

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

copier tuple dans liste

n°2320740
siliconsen​sor
Posté le 14-09-2018 à 17:44:42  profilanswer
 

Bonjour,
 
En Python3 si j'écris :
>>> a=(1,2)
>>> b=[a[0],a[1]]
>>> print (a,b)
(1, 2) [1, 2]
 
Une liste b est crée à partir du tuple a.
 
Mais si on ajoute :
>>> a[0]=3
 
On se retrouve avec le message d'erreur : TypeError: 'tuple' object does not support item assignment
 
Pourquoi le a[0] marchait dans b=[a[0],a[1] et pas dans a[0]=3 ? Je suppose qu'il doit y avoir un changement de type dans le premier cas mais si quelqu'un pouvait m'expliquer clairement...
 
Sinon j'aurais aussi pu écrire :
>>> b = [i for i in a]
>>> print(a,b)
(1, 2) [1, 2]
 
Qu'elle est la meilleure solution à votre avis et pourquoi ?
 
Cordialement.
 

mood
Publicité
Posté le 14-09-2018 à 17:44:42  profilanswer
 

n°2320768
hadrial
Posté le 15-09-2018 à 15:54:38  profilanswer
 

salut,
 
pour convertir un tuple en list :
b = list(a)
 
le reste j'ai pas tout compris, mais si y'a une chose que tu n'as apparemment pas compris c'est qu'on ne peut pas modifier un tuple, ils sont immutables.


Message édité par hadrial le 15-09-2018 à 15:54:52
n°2320772
siliconsen​sor
Posté le 15-09-2018 à 20:37:57  profilanswer
 

OK, je comprends : on peut le lire mais pas y écrire.
Merci pour le list(), je l'avais oublié celui-là.
 
Du coup il y a bien au moins 3 façons de copier un tuple dans une liste. Il doit bien y en avoir une plus efficace que les autres en termes de temps, à voir...

n°2320773
masklinn
í dag viðrar vel til loftárása
Posté le 15-09-2018 à 21:53:09  profilanswer
 

siliconsensor a écrit :

Du coup il y a bien au moins 3 façons de copier un tuple dans une liste. Il doit bien y en avoir une plus efficace que les autres en termes de temps, à voir...


Il y a une tétrachiée de moyens de copier un itérable dans une liste [:spamafote]

 

Et franchement si c'est ça qui limite les perfs de ton soft, t'es dans une merde noire, et python n'est probablement pas l'outil adéquat dans tous les cas. Mais la réponse à ton interrogation est assez certainement

Code :
  1. b = [*a]


Message édité par masklinn le 15-09-2018 à 21:54:19

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody

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

  copier tuple dans liste

 

Sujets relatifs
Macro copier-coller d'un fichier vers un autreCréation d'une liste en SQL
Copier contenue excel vers un autreListe de record et lecture des valeurs
Copier coller valeur sur deux feuille avec conditionspile et liste chainée
RemerciementBatch pour copier dernier fichier vers autre repertoire
Suppression liste fichiers sur postes réseauwrecherche liste mot dans plusieurs fichiers
Plus de sujets relatifs à : copier tuple dans liste


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR