[問題] 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