Jupyter数组调用调试2020-1024
如下图定义一个函数,交换数组中第一个和第二个字符:
This is strange! This time both sublists got changed. Can you explain this? Draw some diagrams explaining the difference between the two situations.
以下是我根据自己的理解画的图:
这很像magic,因还是不解jupyter数组中的调用,出于好奇特作以下测试:
1.数组中只有数字的调用,从下图可以得出lst[-1]的计算并不会因为是赋值于lst[0]而改为lst[0]的计算
2.1 数组中有数组的调用,从下图可以得出lst[-1]的计算会因为是赋值于lst[0]而改为lst[0]的计算,图中 lst[0]*=3 受到了影响,解释是因为lst[1]产生了一个指针,这个指针将整个lst[1]复制给了lst[0],继而产生的计算是关于lst[1]的。
2.2 数组中有数组的调用,如果只是将b指向a,对b的操作会影响a;如果只需要对b操作,不影响a,网上查到的操作是将b=a改为b=a[:]
会在未来的学习中做出更完整的解释。