[問題] list 用slice寫入

看板Python作者 (就只是大叔而已)時間8年前 (2017/04/20 16:25), 編輯推噓3(301)
留言4則, 4人參與, 最新討論串1/1
創了一個全為零的9x9 list: table=[[0 for j in range(9)] for i in range(9)] 然後想輸入 top = 'GCATGCU' ; left = 'GATTACA' 在第一列和第一行 第一列: table[0][2:10] = top 可以寫入沒問題 [[0, 0, 'G', 'C', 'A', 'T', 'G', 'C', 'U'], [0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0]] 可是第一行: table[2-10][0]=left 就不行了 = =! 還是我應該學numpy會簡單點? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 211.76.175.139 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1492676717.A.0F8.html

04/20 16:58, , 1F
不是同list啊......
04/20 16:58, 1F

04/20 17:00, , 2F
因為這是python 語法不夠高 仍然需要注意row-major
04/20 17:00, 2F

04/20 17:10, , 3F
所以只能一個一個指定嗎?
04/20 17:10, 3F

04/20 18:16, , 4F
for i in range(7):table[i+2][0] = left[i]; i=i+1
04/20 18:16, 4F
文章代碼(AID): #1O-71j3u (Python)