b1=[[2]*3]*2b2=[[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的文档,里面有说明。