gpt4 book ai didi

python - python 中的分配 "="行为?

转载 作者:行者123 更新时间:2023-11-28 21:42:15 26 4
gpt4 key购买 nike

<分区>

我完全是 python 的初学者(来自 C/C++)我只是从几天开始练习 python,当我观察到下面几行的行为时,我很困惑。

#Integer case
num1 = 1
num2 = num1
print num1, num2
num1 += 1
print num1, num2

#List case
list1 = [1,2,3,4,5]
list2 = list1
print list1,list2
list1[2:2] = [0,0,0]
print list1, list2

这段代码给了我以下结果:

1 1

2 1

[1,2,3,4,5] [1,2,3,4,5]

[1,2,0,0,0,3,4,5] [1,2,0,0,0,3,4,5]

这里,num1的值的变化不会反射(reflect)在num2中。但是 list1 中的更改反射(reflect)在 list2 中。我对这种行为感到困惑,请澄清(我是初学者,非常感谢从初学者的角度进行解释)

编辑:

我怎样才能获得 list1 的副本(实际上没有创建引用)?

假设我有 list1(我需要在代码的后半部分保持不变)以及 list2 除了“list1”之外还有其他数据(想要在 list1 数据上添加数据)。复制怎么可能?

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com