有人可以解释我的Python阵列发生了什么吗?

时间:2020-04-27 03:04:19

标签: python python-3.x

我正在初始化这两个列表,并尝试以两种不同方式替换每个列表中的前3个项目。

b = c = [2, 4, 6, 8, 10, 12]
print(b)
b[0] = 3; b[1] = 6; b[2] = 9
print(b)
c[0:2] = [3,6,9]
print(c)

但是当我运行代码时,我得到下面的奇怪输出。我得到了对“ b”的期望,但对“ c”却完全期望。有人可以向我解释为什么会这样吗?

b = [2, 4, 6, 8, 10, 12]
c = [2, 4, 6, 8, 10, 12]
new b = [3, 6, 9, 8, 10, 12]
new c = [3, 6, 9, 9, 8, 10, 12]

1 个答案:

答案 0 :(得分:1)

c[0:2]表示前两个元素,因此实际上您是用[3, 6]替换了[3, 6, 9]。您应该使用

c[0:3] = [3, 6, 9]
c = [3, 6, 9, 8, 10, 12]