前几天看到一个关于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]]

 

posted on 2019-09-18 11:35  丶愤怒的蘑菇  阅读(2496)  评论(0编辑  收藏  举报