Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > fr.comp.lang.python > #3037
| From | Benoit Izac <use.reply.to@INVALID.ADDRESS> |
|---|---|
| Newsgroups | fr.comp.lang.python |
| Subject | Re: remplir un tableau |
| Date | 2018-01-31 18:50 +0100 |
| Message-ID | <87a7wtvrwo.fsf@izac.org> (permalink) |
| References | <5a6fa2b6$0$7180$426a74cc@news.free.fr> <87efm7vpge.fsf@izac.org> <5a71dd90$0$3420$426a74cc@news.free.fr> |
Bonjour,
Le 31/01/2018 à 16:15, Fabrice a écrit dans le message
<5a71dd90$0$3420$426a74cc@news.free.fr> :
>>>>> image = [[0]*50]*50
>>>>> id(image[0])
>> 140001800012424
>>>>> id(image[1])
>> 140001800012424
>>
>> Alors qu'en faisant comme cela :
>>
>>>>> image = [[0]*50 for _ in range(50)]
>>>>> id(image[0])
>> 140001800012936
>>>>> id(image[1])
>> 140001800012744
>
>
> je suis surpris que [[0]*50]*50 et [[0]*50 for _ in range(50)] ne
> fassent pas la même chose !
[[0]*50]*50 : je crée un objet de type int qui vaut 0, puis une liste de
50 éléments qui référencent tous cet objet int(0), puis une liste de 50
éléments qui référencent tous cette unique liste [0]*50.
[[0]*50 for _ in range(50)] : je fais 50 fois "je crée un objet de int
qui vaut 0, puis une liste de 50 éléments qui référencent tous cet objet
int(0)" et je mets à chaque fois la référence dans une liste. C'est
donc équivalent à :
l = []
for _ in range(50):
l.append([0]*50)
--
Benoit Izac
Back to fr.comp.lang.python | Previous | Next — Previous in thread | Next in thread | Find similar
remplir un tableau Fabrice <professeur.leclercq@gmail.com> - 2018-01-29 23:39 +0100
Re: remplir un tableau Benoit Izac <use.reply.to@INVALID.ADDRESS> - 2018-01-30 07:19 +0100
Re: remplir un tableau Fabrice <professeur.leclercq@gmail.com> - 2018-01-31 16:15 +0100
Re: remplir un tableau Benoit Izac <use.reply.to@INVALID.ADDRESS> - 2018-01-31 18:50 +0100
Re: remplir un tableau Nicolas <nicolasp@aaton.com> - 2018-01-30 09:53 +0100
Re: remplir un tableau Fabrice <professeur.leclercq@gmail.com> - 2018-01-31 16:17 +0100
Re: remplir un tableau marc.marc@marc.org - 2018-01-31 09:25 +0100
Re: remplir un tableau Fabrice <professeur.leclercq@gmail.com> - 2018-01-31 16:23 +0100
csiph-web