I want to understand small snippet here in python:
>>> x = ['foo', [1,2,3], 10.4] >>> y = list(x) >>> y[0] 'foo' >>> y[0] = "fooooooo" >>> y[1] [1, 2, 3] >>> y[1][0]=4 >>> print x ['foo', [4, 2, 3], 10.4] >>> print y ['fooooooo', [4, 2, 3], 10.4] >>> z = ['foo', [1,2,3], 10.4] >>> x = ['foo', [1,2,3], 10.4] >>> y = list(x) >>> y[0] = "fooooooo" >>> y[1] [1, 2, 3] >>> y[1][0]=4 >>> print x ['foo', [4, 2, 3], 10.4] >>> print y ['fooooooo', [4, 2, 3], 10.4] >>> print z ['foo', [1, 2, 3], 10.4] >>> y = list(z) >>> y[1][0]=6 >>> print y ['foo', [6, 2, 3], 10.4] >>> y = list(z) >>> print z ['foo', [6, 2, 3], 10.4] >>> print x ['foo', [4, 2, 3], 10.4] How this works. if change the list element of y its getting reflecting to x. It may be very basic of python but still i am not getting hold on this