Python Forum
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
2-D list element assignment
#1
nm = 4
c = [[0, False]] * nm
c[0][0] = 1
print(c)
I expected that it should give an output as [0, False] (Printed 4 times). Instead, the output is [1, False](Printed 4 times).
Can anyone explain?
Reply
#2
[x]*n -- replicates x n-times, i.e. [x]*n = [x, x, ....ntimes, x]
[0, False] is a mutable object (it is a list), so, each time it is replicated, internally, Python uses a pointer to the same object: so a target list -- [x, x, ..., x] is just a set of the same objects.
So, when you change one of them, you change all object(s) at once.

You can avoid this behavior if you define the list as follows:

z = [[0, False], [0, False], [0, False], [0, False]]

In this case, [0, False] items are internally presented as different objects,
so, if you try to change one of them, e.g. z[0][0] = 1, this willn't affect on others.
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  list in dicitonary element problem jacksfrustration 3 625 Oct-14-2023, 03:37 PM
Last Post: deanhystad
  Find (each) element from a list in a file tester_V 3 1,155 Nov-15-2022, 08:40 PM
Last Post: tester_V
  Сheck if an element from a list is in another list that contains a namedtuple elnk 8 1,714 Oct-26-2022, 04:03 PM
Last Post: deanhystad
  Membership test for an element in a list that is a dict value for a particular key? Mark17 2 1,159 Jul-01-2022, 10:52 PM
Last Post: Pedroski55
  How to find the second lowest element in the list? Anonymous 3 1,903 May-31-2022, 01:58 PM
Last Post: Larz60+
  check if element is in a list in a dictionary value ambrozote 4 1,879 May-11-2022, 06:05 PM
Last Post: deanhystad
  sorting a list of lists by an element leapcfm 3 1,805 Sep-10-2021, 03:33 PM
Last Post: leapcfm
  Convert each element of a list to a string for processing tester_V 6 5,167 Jun-16-2021, 02:11 AM
Last Post: tester_V
  Sume Every 10 element in the list and Divided of Sum quest_ 7 2,969 Nov-27-2020, 10:58 AM
Last Post: perfringo
  Counting Element in Multidimensional List quest_ 1 2,065 Nov-25-2020, 10:00 PM
Last Post: quest_

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020