Python 嵌套循环

2025-05-15 13:00:48
推荐回答(1个)
回答1:

b1=[[2]*3]*2
b2=[[2,2,2],[2,2,2]]
这个两个定义的变量其实时不一样的
b2一个list,包含两个list元素
b1是1个list元素的两个浅拷贝,可以理解成两个指向[2]*3的指针。
出现这种问题,实际上理解的误区,[2]*3 = [2,2,2] 就想当然的把[[2]*3]*2= [2,2,2]*2 = [[2,2,2] [2,2,2]]
其实[[]]是一个list的浅拷贝(或者理解成指向list指针)
更详细的可以看下python的文档,里面有说明。