[問題] append的問題

看板Python作者 (嘟嘟左右衛門)時間3年前 (2021/10/13 11:21), 3年前編輯推噓4(406)
留言10則, 5人參與, 最新討論串1/3 (看更多)
我是自學 所以有些 可能很簡單的東西 想要問一下 我建立一個列表 裡面的元素都是空列表 如果我想對列表內 某個元素(列表) 增加元素 該怎麼做比較好 我的作法 a = [[]] * 3 (a會變成 [[],[],[]]有三個空列表的列表) 我的想法是 如果要讓第一個列表增加元素 a[0].append("元素") 但實作時的結果卻是a列表中的每個元素列表都會增加元素 變成 a => [['元素'],['元素'],['元素']] 我想知道正確的作法 以及我的作法 為何錯誤 感謝各位 大神 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.24.215.112 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1634095311.A.E6A.html

10/13 12:03, 3年前 , 1F
[[]]*3內的三個list都是同一個list
10/13 12:03, 1F

10/13 12:05, 3年前 , 2F
創建時可以a = [[] for _ in range(3)]
10/13 12:05, 2F

10/13 12:06, 3年前 , 3F
10/13 12:06, 3F

10/13 12:06, 3年前 , 4F
透過單步執行的動畫觀察兩者的不同之處
10/13 12:06, 4F

10/13 12:08, 3年前 , 5F
善用loop + list comprehension 建立多維陣列
10/13 12:08, 5F
喔喔 謝謝 我搞懂了 是一次 土法煉鋼 一個一個列表做 就正常了 原來 直接 * 3 有這種弊端 感謝各位! ※ 編輯: dodo52woman (114.24.215.112 臺灣), 10/13/2021 12:29:13

10/13 12:29, 3年前 , 6F
for in range 感謝 教學
10/13 12:29, 6F

10/22 19:08, , 7F
建議用numpy
10/22 19:08, 7F

10/28 08:58, , 8F
不是處理大量data 沒事別用numpy
10/28 08:58, 8F

10/28 08:59, , 9F
有C的python套件 快歸快 都該慎用
10/28 08:59, 9F

10/28 22:04, , 10F
CPython,都有C的套件lol
10/28 22:04, 10F
文章代碼(AID): #1XPb3Fvg (Python)
討論串 (同標題文章)
文章代碼(AID): #1XPb3Fvg (Python)