Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > fr.comp.lang.python > #3037

Re: remplir un tableau

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>

Show all headers | View raw


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 | NextPrevious in thread | Next in thread | Find similar


Thread

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