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.