[問題] 有關indexing的用法

看板Python作者 (orz811017)時間8年前 (2017/04/13 18:27), 8年前編輯推噓1(109)
留言10則, 5人參與, 最新討論串1/1
用的是numpy array 知道可以 array[4:7] array[4:-2] array[4:20:2]等用法 但有辦法 array[-7:7]這樣嗎 (從倒數第七個=>第零個=>第七個這樣) 我用過array是空的@@ 是有這種用法嗎 還是沒有@@ 謝謝各位了 -- -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.114.77.52 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1492079272.A.26B.html ※ 編輯: orz811017 (140.114.77.52), 04/13/2017 18:29:39

04/13 18:39, , 1F
這樣還是7:-7吧
04/13 18:39, 1F

04/13 18:40, , 2F
如是是要反過來的話 可以arr[7:-7][::-1]
04/13 18:40, 2F

04/13 19:00, , 3F
7:-7 會印出7,8,9,.....到倒數第七個@@
04/13 19:00, 3F

04/13 19:01, , 4F
印象中沒有。但可用 index array: arr[[-7,-6,...,7]]
04/13 19:01, 4F

04/13 19:02, , 5F
[-7:7:-1] 就好了啦, 不用分兩次
04/13 19:02, 5F

04/13 19:02, , 6F
Wrap around (原 po 要的) 就沒辦法了, 只能自己拼
04/13 19:02, 6F

04/13 19:03, , 7F
array[-7:] + array[:7] 這樣
04/13 19:03, 7F

04/13 19:03, , 8F
喔喔好吧@@
04/13 19:03, 8F

04/13 21:40, , 9F
np.roll(array, array.shape[0]-7)
04/13 21:40, 9F

04/13 21:40, , 10F
跟 matlab circshift 大致功能一樣
04/13 21:40, 10F
文章代碼(AID): #1OxrAe9h (Python)
文章代碼(AID): #1OxrAe9h (Python)