注意python中“等于”的用法,列表的“=”和c语言中相同,是地址指针,源地址a的值变了,b也就变了。以前用python没注意到。可以用copy()取地址的值
-
常量
a = 2 b = a print(a, b) a = 4 print(a, b)
2 2
4 2
-
列表
a = [1, 2, 3] b = a print(a, b) a[0] = 44 print(a, b)
[1, 2, 3] [1, 2, 3]
[44, 2, 3] [44, 2, 3]
-
copy()
a = [1, 2, 3] b = a.copy() print(a, b) a[0] = 44 print(a, b)
[1, 2, 3] [1, 2, 3]
[44, 2, 3] [1, 2, 3]