Changing a Value in List of lists
Chris Angelico
rosuav at gmail.com
Sun Sep 2 05:57:37 EDT 2012
More information about the Python-list mailing list
Sun Sep 2 05:57:37 EDT 2012
- Previous message (by thread): Changing a Value in List of lists
- Next message (by thread): Changing a Value in List of lists
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Sun, Sep 2, 2012 at 7:44 PM, Rishabh Dixit <rishabhdixit11 at gmail.com> wrote: > > Hi all, > > I have a doubt regarding how the list work in following case- > >>>> ls=[[0]*5]*5 >>>> ls[1][1]+=1 >>>> ls > [[0, 1, 0, 0, 0], [0, 1, 0, 0, 0], [0, 1, 0, 0, 0], [0, 1, 0, 0, 0], [0, 1, > 0, 0, 0]] > > > Here, according to me only one value in ls should be incremented but it is > increasing 1 value in all the lists of ls. Why?? When you take the list [[0,0,0,0,0]] and multiply it by 5, you get a list with five references to the same inner list. That's where the confusion is coming from. Then when you change one of them, it changes all five displayed versions, since they're all still the same list. ChrisA
- Previous message (by thread): Changing a Value in List of lists
- Next message (by thread): Changing a Value in List of lists
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list