前几天看到一个关于Python的面试题
lst = [1, 2, [3]]
lst1 = lst * 2 # [1, 2, [3], 1, 2, [3]]
lst1[2].append(4) # [3, 4]
print(lst1)
开始时,就处理错了。最终上机测试发现,乘法貌似是内存地址的拷贝。
也就是说 lst1[2] 和 lst1[5] 都指向同一个对象,最终lst1结果如下:
print(lst1) # [1, 2, [3, 4], 1, 2, [3, 4]]
前几天看到一个关于Python的面试题
lst = [1, 2, [3]]
lst1 = lst * 2 # [1, 2, [3], 1, 2, [3]]
lst1[2].append(4) # [3, 4]
print(lst1)
开始时,就处理错了。最终上机测试发现,乘法貌似是内存地址的拷贝。
也就是说 lst1[2] 和 lst1[5] 都指向同一个对象,最终lst1结果如下:
print(lst1) # [1, 2, [3, 4], 1, 2, [3, 4]]