找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 1751|回复: 1

[求助] python小白列表赋值问题求助

1

主题

1

帖子

1

积分

贫民

积分
1
herr 发表于 2018-2-5 22:48:02 | 显示全部楼层 |阅读模式
定义了一个列表
a = [[0,0],[0,0],[0,0]]
逐个赋值
for i in range(len(a)):
    for j in range(len(a[0])):
        a[j] = i + j
print a
结果是对的
[[0, 1], [1, 2], [2, 3]]

但是我将a定义成:
a = [[0]*2]*3
执行同样的赋值
for i in range(len(a)):
    for j in range(len(a[0])):
        a[j] = i + j
print a
结果变成了
[[2, 3], [2, 3], [2, 3]]

为什么会这样?
向各位大神指教,小弟万分感谢
回复

使用道具 举报

0

主题

13

帖子

13

积分

贫民

积分
13
lhdnb 发表于 2018-2-8 11:31:46 | 显示全部楼层
因为你用了*  所以它对应存放的三个[0,0]都是同一个位置 所以数据是一样的
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表