|

楼主 |
发表于 2017-7-1 12:52:22
|
显示全部楼层
本帖最后由 达锅 于 2017-7-1 12:57 编辑
- >>> a=[3]*3
- >>> a
- [3, 3, 3]
- >>> id(a[0])
- 1612404496
- >>> id(a[1])
- 1612404496
- >>> a[0]=111
- >>> a
- [111, 3, 3]
复制代码
那只有1层的时候为什么又不变呢?
而且,两个没什么不一样啊
- >>> a=[[0]*3]*4
- >>> list([id(j) for j in i] for i in a)
- [[1612404448, 1612404448, 1612404448], [1612404448, 1612404448, 1612404448], [1612404448, 1612404448, 1612404448], [1612404448, 1612404448, 1612404448]]
- >>> a=[[1]*4 for i in range(3)]
- >>> list([id(j) for j in i] for i in a)
- [[1612404464, 1612404464, 1612404464, 1612404464], [1612404464, 1612404464, 1612404464, 1612404464], [1612404464, 1612404464, 1612404464, 1612404464]]
复制代码 |
|