confusion in python printing the lists -


in following python code, have list i.e. to_do_list of 2 lists i.e. other_events , grocery_list inserted item in grocery_list , deleted it.

my confusion is, when updated grocery_list, to_do_list automatically updated when deleted grocery_list, to_do_list not updated... why?

grocery_list = ['banana', 'mango', 'apple']  other_events =['pick kids','do laundry', 'dance class']  to_do_list = [other_events, grocery_list]  print(to_do_list)  grocery_list.insert(1,'onions');  print(grocery_list)  del grocery_list  print(to_do_list) 

its output is:

[['pick kids', 'do laundry', 'dance class'], ['banana', 'mango', 'apple']] ['banana', 'onions', 'mango', 'apple'] [['pick kids', 'do laundry', 'dance class'], ['banana', 'onions', 'mango', 'apple']] 

the reason why, when update grocery_list object to_do_list updated list to_do_list contain reference on grocery_list.

now, why after deleting grocery_list, to_do_list not updated keywork del doesn't delete object on delete grocery_list namespace.

here quote python language reference on del :

deletion of name removes binding of name local or global namespace


Comments

Popular posts from this blog

ubuntu - PHP script to find files of certain extensions in a directory, returns populated array when run in browser, but empty array when run from terminal -

php - How can i create a user dashboard -

javascript - How to detect toggling of the fullscreen-toolbar in jQuery Mobile? -