initialising a list of lists
Peter Kleiweg
p.c.j.kleiweg at rug.nl
Wed Nov 16 07:58:45 EST 2005
This does not what I want it to do:
>>> a = [[]] * 6
>>> a[3].append('X')
>>> a
[['X'], ['X'], ['X'], ['X'], ['X'], ['X']]
This does what I want:
>>> b = [[] for _ in range(6)]
>>> b[3].append('X')
>>> b
[[], [], [], ['X'], [], []]
The first is clear and wrong. The second is hairy and right.
Is there a way to do it clear and right?
--
Peter Kleiweg L:NL,af,da,de,en,ia,nds,no,sv,(fr,it) S:NL,de,en,(da,ia)
info: http://www.let.rug.nl/~kleiweg/ls.html
More information about the Python-list
mailing list