我遇到了一段python代码,要求我提供输出。代码如下:
a = [1, 2]
b = [a, 3]
c = b[:]
a[0] = 7
b[1] = 8
print c
我认为输出为[[7, 2], 8]
,因为我在a
中引用了b
,因此,c
引用了b
但是输出结果为[[7, 2], 3]
我在这里想念什么?
答案 0 :(得分:5)
c
引用了b
这是您出错的地方。 c
被初始化为b
的(浅)副本。
如果只是c = b
(没有[:]
),那么您是正确的。