In Python a variable is not a box that holds things, it is a name that points to an object. In your code:
d = { 'm': [1,2,3] }
–> binds the named
to a dictionarym = d['m']
–> binds the namem
to a listm = m[1:]
–> binds the namem
to another list
Your third line is not changing m
itself, but what m
is pointing to.
To edit the elements in the list what you can do is:
m = d['m']
for i, item in enumerate(m):
result = do_something_with(item)
m[i] = result