a=2
b=3
a=b
a=a+12
print(a)
print(b)
输出:
15
3
当我在列表中做这种事情时:
list1=[1,2,3,4]
list2=[4,5,6,7]
list1=list2
list1.append(12523)
print(list1)
print(list2)
输出:
[4, 5, 6, 7, 12523]
[4, 5, 6, 7, 12523]
每当我改变a的值时,b根本不会改变。但是在第二次改变list1时,list2会自动改变。我可以问为什么会发生这种情况?
答案 0 :(得分:0)
这是因为使用了数据类型,首先你有a = b
(整数,原始类型),因此a = b
中会发生什么a = 3
。在第二种情况下,你有一个列表(不是原始类型),list1 = list2
list1将指向list2所指向的内存中的相同位置,所以您所做的任何更改都将更改内存中list1和list2指向