我写了一个小的(破坏性的)函数,它带有两个2D列表(或者#34;网格"正如我所说的那样)和一组坐标。它将第一个网格插入第二个网格内,假设与第一个网格一样大或大(未执行检查)。坐标表示第一个网格的左上角。
def insert_grid(subj, obj, cords=(0, 0)):
u, v = cords
h = len(subj)
w = len(subj[0])
for y in range(0, h):
for x in range(0, w):
obj[u + y][v + x] = subj[y][x]
我想知道是否有更清洁,更pythonic的方法来达到同样的效果。标准的lib方法总是优先于其他方法。
谢谢。阿利萨。
答案 0 :(得分:1)
您可以略微简化:
def insert_grid(subj, obj, cords=(0, 0)):
u, v = cords
w = len(subj[0])
for index, row in enumerate(subj, u):
obj[index][v:v+w] = row
这将一次性替换行中的所有列。