返回信息流在廖雪峰官网学py
生成器生成杨辉三角,为什么每次加入列表会改变原有的元素(如图2到图3的突变,调试时候用line19看结果咋变),我都已经存入了,第二次返回的t也正确。
第一次返回t=[1],存入列表[]得到[[1]],然后第二次t=[1,1],存入时突变为[[1,0],[1,1]],但是我的append(0)是在yield 之后不应该影响到呀[ema1]
谢谢各位巨巨[ema11]
这是一条镜像帖。来源:北邮人论坛 / python / #23434同步于 2019/2/25
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Python机器人发帖
python小白求助,已存入列表的列表为何还会改变
crazyalltnt
2019/2/25镜像同步4 回复
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
list是可变对象 存进去的是对对象的引用 所以L.append(0)会给刚存进去的L后加上0 你需要的是yield L.copy()
(如果其他都对的话 没仔细看代码)
啊啊啊。谢谢,暴露智商了[ema12]
【 在 specops (Perfec) 的大作中提到: 】
: list是可变对象 存进去的是对对象的引用 所以L.append(0)会给刚存进去的L后加上0 你需要的是yield L.copy()
: (如果其他都对的话 没仔细看代码)
[ema3]you are wlecome
【 在 crazyalltnt (crazyalltnt) 的大作中提到: 】
: 啊啊啊。谢谢,暴露智商了[ema12]