list - 引用列表包含可变和不可变元素python
问题描述
我有一个概念上的疑问。我有,
A = [1,2,3,[11,12,13]]
C = list(A)
现在我表演的时候,
C[3] = "hello"
它给出 C 等于[1, 2, 3, 'hello']
和 A 等于在 [1, 2, 3, [11, 12, 13]]
这里我们看到当我们变异 C 时, A 不会变异。
但是当我这样做时,C[3][0]= "hello"
C等于[1, 2, 3, ['hello', 12, 13]]
并且A也等于
[1, 2, 3, ['hello', 12, 13]]
所以,为什么 A 在第一种情况下没有改变,而在第二种情况下它改变了,尽管在两种情况下 C 都引用了 A。
而如果我们做类似的事情D = A
,然后如果我们像这样改变 D,D[3] = "hello"
那么 D 和 A 都变为
[1, 2, 3, 'hello']
请解释这种行为背后的原因
解决方案
推荐阅读
- c - 使用 qsort 函数的建议方法
- html - 如何将图像添加到网站超链接
- django - 如何在 django 模板中使用特殊变量?
- python - Python中的轮盘赌选择
- sql - 如何为不同的产品/类别创建性别划分(比率)及其随时间的变化
- rest - How to generate automatic Id with Commit or Batch Document Firestore REST
- javascript - How can I check if a string item within an array is all uppercase?
- html - 水平居中base64背景图像不起作用
- r - 按两个特征对 geom_violin 进行分组
- c# - 如何在 Linq 中使用 oracle 日期时间而不是客户端日期时间?