Is there a way to set several list elements a same value with one line code

MRAB python at mrabarnett.plus.com
Thu Dec 3 19:58:39 EST 2015


On 2015-12-04 00:30, Robert wrote:
> Hi,
>
> I remember that there is a way to set several list elements a same value with
>   one line code. Excuse me, I don't remember the accurate syntax on the code
>   snippet. But the basic format looks like this.
>
> 1. There is a four-element list, such as:
>     bb=[[[]],[[]],[[]],[[]]]
> 2. An assignment line is here:
>     bb[0]='a'
> 3. Then, all 4 element of bb is set with the above value.
>     bb=[['a'],['a'],['a'],['a']]
>
> The above three line codes are what I guess (I forgot the original tutorial
>   now). Do you remember there is such a list application?
>
Do you mean this behaviour:

>>> bb=[[[]]] * 4
>>> print(bb)
[[[]], [[]], [[]], [[]]]
>>> bb[0][0]='a'
>>> print(bb)
[['a'], ['a'], ['a'], ['a']]

?

That's because the bb contains 4 references to the same list.




More information about the Python-list mailing list