Python中列表乘法需注意的问题/
程序员文章站
2023-10-27 00:01:52
前几天看到一个关于Python的面试题 lst = [1, 2, [3]] lst1 = lst * 2 # [1, 2, [3], 1, 2, [3]] lst1[2].append(4) # [3, 4] print(lst1) 开始时,就处理错了。最终上机测试发现,乘法貌似是内存地址的拷贝。 ......
前几天看到一个关于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]]
上一篇: C#中嵌入SQLite数据库的简单方法
推荐阅读