【发布时间】:2013-02-25 19:55:58
【问题描述】:
我刚刚看到如下输出 - 只是想知道这里发生了什么。
>>> l = [1,2,3,4]
>>> l[0]=l
>>> l
[[...], 2, 3, 4]
为什么 l[0] 的值会这样显示?谁能解释我为什么会出现这种行为。 我在想它会像 [[1,2,3,4], 2, 3, 4] 一样返回。
干杯, 卡莱
【问题讨论】:
-
这是不是分配了实际地址并转至某些有线输出的东西?因为,当我尝试下面的一个时,它工作正常。 >>> l = [1,2,3,4] >>> l[1]=l[:] >>> l [1, [1, 2, 3, 4], 3, 4]
-
@Kalai:我的回答能解释吗?
l[:]复制列表,否则它仍然是指向原始列表的指针。