|
|
《零基础入门学习Python》
(最新版)
小甲鱼 著
立即购买
在给定的代码中,我们使用浅拷贝(shallow copy)创建了 copy_matrix,这意味着 copy_matrix 是一个新列表,但其元素(子列表)与 matrix 中的子列表是同一个对象。
- matrix = [[1, 2], [3, 4]]
- copy_matrix = matrix.copy()
- matrix[0] = [5, 6] # 行1
- matrix[1][0] = 7 # 行2
复制代码
分析如下:
- 行1:matrix[0] = [5, 6] 修改了 matrix 的第一个元素,使其指向新列表 [5, 6]。由于 copy_matrix 是浅拷贝,它仍然引用原来的子列表 [1, 2],因此 copy_matrix 的内容不变。
- 行2:matrix[1][0] = 7 修改了 matrix 的第二个子列表的第一个元素。由于 copy_matrix 共享同一个子列表对象,所以这个修改也会影响 copy_matrix,使得 copy_matrix[1] 变为 [7, 4]。
因此,只有行2会改变两个变量指向的内容(即它们所引用的数据结构中的共享部分)。
答案:B. 只有行2
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 |
|