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


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

Re: remplir un tableau

Path csiph.com!news.redatomik.org!news.izac.org!reader
From Benoit Izac <use.reply.to@INVALID.ADDRESS>
Newsgroups fr.comp.lang.python
Subject Re: remplir un tableau
Date Wed, 31 Jan 2018 18:50:47 +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>
Reply-To benoit.izac@free.fr
Mime-Version 1.0
Content-Type text/plain; charset=iso-8859-1
Content-Transfer-Encoding 8bit
Injection-Info keg.izac.org; logging-data="12405"; mail-complaints-to="usenet@izac.org"
Xref csiph.com fr.comp.lang.python:3037

Show key headers only | 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