2011-10-01 102 views

回答

4

如果你想切片的限制X1,Y1,X2的2D名單,Y2,你可以這樣做:

def getsubgrid(x1, y1, x2, y2, grid): 
    return [item[x1:x2] for item in grid[y1:y2]] 

例如:

grid = [[1, 2, 3, 4, 5, 6, 7, 8, 9], 
     [11,12,13,14,15,16,17,18,19], 
     [21,22,23,24,25,26,27,28,29], 
     [31,32,33,34,35,36,37,38,39], 
     [41,42,43,44,45,46,47,48,49], 
     [51,52,53,54,55,56,57,58,59]] 

print getsubgrid(3,2,5,4,grid) 

#prints [[24, 25], [34, 35]] 
1

我假設你的網格存儲在列表中?那就是:

primary list: [ * * * * * * ] 
second item: * * * * * * 

如果是這樣,你的答案就是從你的起點到你的端點遍歷這些列表。

​​
+0

TypeError:列表索引必須是整數,而不是元組 – joaquin

+0

@joaquin oops,應該是冒號。修復。 –