我有一个列表,它将获得2n + 1大小的网格的左上部分。
$ git add directoryname
看起来像:n = 1
section = [[x, y] for x in range (n+1) for y in range (n+1)]
并且会获得3x3(2n + 1)网格左上角的坐标,例如:
[[0, 0], [0, 1], [1, 0], [1, 1]]
然后,我可以通过编辑此列表中的坐标值来获取网格的每个四分之一部分:
[[1, 2, 3],
[4, 0, 5],
[6, 7, 8]]
我需要以某种方式个性化
中的每个第二个列表元素for coOrd in topRight:
coOrd[1] += n
for coOrd in botLeft:
coOrd[0] += n
for coOrd in botRight:
coOrd[0] += n
coOrd[1] += n
这样我就可以用它来引用一个网格列表,其中包含整个网格的值,如下所示:[0, 0], [0, 1], [1, 0]... -> [0][0], [0][1], [1][0]
我希望能够通过for循环获取每个部分,该循环将遍历topLeft,topRight等中的每个坐标,并将这些部分应用于gridList。
gridList[0][0], gridList[0][1]
希望我已经解释得很清楚,如果我没有抱歉,请多多询问,我会尽力解释。
基本上归结为:我需要将一个(3x3)网格分成4个部分,我想出了一个循环来抓取坐标,我正在努力实现这些坐标以便能够从网格中获取值
感谢。
答案 0 :(得分:1)
您可以编写辅助函数:
def gL(gridList, values):
return gridlist[values[0]][values[1]]
然后,你的
gridTL = map(lambda m: gl(gridList, m), section)
其中,section
是您想要的任何部分......
注意:
map
不被认为是非常Pythonic。您可以考虑将列表推导用于类似的事情。像这样:
gridTL = [gridlist[m[0]][m[1]]for m in section]