[問題] 請問二維list一維化
我手邊有一些資料分別是3*3 ~ 13*13不等的二維方陣
我需要以方陣中心為起點,找到周圍最大值後以順時針方向將該方陣轉為一維的list,
例如下列5*5方陣
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
21 22 23 24 25
要轉成13 19 18 17 12 7 8 9 14 20 25 24 23 22 21 16 11 6 1 2 3 4 5 10 15
我自己是用很土法煉鋼的方式做出3*3的,但是5*5以上就沒辦法了...
想請問有甚麼方法可以解決這樣的問題,謝謝各位的回答。
以下是我用在3*3的土法煉鋼法,應該有更好的方式才對...
import numpy
testdata = numpy.array([[1,2,3],
[4,5,6],
[7,8,9]])
result = []
for i in range(len(testdata)):
result.append(testdata[0,i])
for i in range(1,len(testdata)):
result.append(testdata[i,len(testdata)-1])
for i in range(len(testdata)-2,0,-1):
result.append(testdata[len(testdata)-1,i])
for i in range(len(testdata)-1,0,-1):
result.append(testdata[i,0])
result = result[result.index(max(result)):]+
result[0:result.index(max(result))]+
[testdata[1,1]]
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.119.48.60
※ 文章網址: http://www.ptt.cc/bbs/Python/M.1409126953.A.8F0.html
推
08/28 01:03, , 1F
08/28 01:03, 1F
→
08/28 01:03, , 2F
08/28 01:03, 2F
→
08/28 01:04, , 3F
08/28 01:04, 3F
→
08/28 01:05, , 4F
08/28 01:05, 4F
→
08/28 01:16, , 5F
08/28 01:16, 5F
→
08/28 01:17, , 6F
08/28 01:17, 6F
討論串 (同標題文章)