python踩坑

前言

没注意一个小细节记录一下

a = [[]]*4
b = [[] for i in range(4)]

以上两段代码不等价,对于a,如果执行a[3].append(1)这样a就成了

[[1],[1],[1],[1]]

对于b如果执行b[3].append(1)这样b就成了

[[],[],[],[1]]

原因是a = [[]]*4这样复制生成4个【】是公用的地址,改变一个其他全变

猜你喜欢

转载自blog.csdn.net/qq_37668436/article/details/120844354
今日推荐