[问题] append的问题

楼主: dodo52woman (嘟嘟左右卫门)   2021-10-13 11:21:48
我是自学 所以有些 可能很简单的东西 想要问一下
我建立一个列表 里面的元素都是空列表
如果我想对列表内 某个元素(列表) 增加元素 该怎么做比较好
我的作法
a = [[]] * 3
(a会变成 [[],[],[]]有三个空列表的列表)
我的想法是 如果要让第一个列表增加元素
a[0].append("元素")
但实作时的结果却是a列表中的每个元素列表都会增加元素
变成
a => [['元素'],['元素'],['元素']]
我想知道正确的作法
以及我的作法 为何错误
感谢各位 大神
作者: lycantrope (阿宽)   2021-10-13 12:03:00
[[]]*3内的三个list都是同一个list创建时可以a = [[] for _ in range(3)]
作者: cuteSquirrel (松鼠)   2021-10-13 12:06:00
http://shorturl.at/hltE2透过单步执行的动画观察两者的不同之处善用loop + list comprehension 建立多维阵列
楼主: dodo52woman (嘟嘟左右卫门)   2021-10-13 12:29:00
for in range 感谢 教学
作者: Jeffrey11061 (Jeff)   2021-10-22 19:08:00
建议用numpy
作者: roccqqck (ccqq)   2021-10-28 08:58:00
不是处理大量data 没事别用numpy有C的python套件 快归快 都该慎用
作者: lycantrope (阿宽)   2021-10-28 22:04:00
CPython,都有C的套件lol

Links booklink

Contact Us: admin [ a t ] ucptt.com