变量n2的值为啥不是[6]
?下列代码中两个n1不一样吗?
n1 = [1, 2, 3, 4, 5]
n2 = n1
n1 = [6]
print(n2)
变量n2的值为啥不是[6]
?下列代码中两个n1不一样吗?
n1 = [1, 2, 3, 4, 5]
n2 = n1
n1 = [6]
print(n2)
n1 = [1, 2, 3, 4, 5]
n2 = n1
n1 = [6]
print(n2)
理一下
n1 = [1, 2, 3, 4, 5] // n1指向数组[1, 2, 3, 4, 5]的首地址
n2 = n1 // n1 和 n2 指向数组[1, 2, 3, 4, 5]的首地址
n1 = [6] // n1指向数组[6]的首地址
n1 = [1, 2, 3, 4, 5]
n2 = n1
n1 = [6]
print(n2)
首先:我们把[1, 2, 3, 4, 5]
和[6]
分别看做是水果店里的苹果与香蕉,'n1'和'n2'是贴在水果上的标签。
[1, 2, 3, 4, 5]
这个苹果贴了一个叫做'n1'的标签,比如说'n1'这个标签上写着’4元一斤‘;n2 = n1
执行后,我们就准备把'n2'这个标签也贴到某一个水果上面,但是贴到哪个上面呢,我们发现'n1'这个标签贴在了苹果上面,那么也把'n2'贴到苹果上面,现在苹果上面贴了两个标签'n1'和'n2';2 回答5.1k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
1 回答1.7k 阅读✓ 已解决
1 回答1.2k 阅读✓ 已解决
python的赋值只是指向赋值,你的第二行代码
new = old
,只是把一个变量名new
也指向了数组[1,2,3,4,5]对应的栈,此时,old以及new这两个变量名都指向了这个数组,而你的第三行代码old = [6]
,则是会新建一个栈来保存[6],然后把old这个变量名指向这里。此时,new和old已经没有任何关系了。所以你输出来的结果应该就是[1,2,3,4,5]看到下面的答案,随便说一下,在python里面new 并不是关键字。