所以这是我的阵列:
field = [[1, 2, 4, 4],
[4, 1, 4, 2],
[2, 1, 4, 3],
[2, 4, 2, 3],
[1, 2, 3, 4]]
如果我有以下坐标:
co= [(0, 1),
(1, 1),
(2, 1)]
在这种情况下,我的新数组应如下所示:
[[1, 4, 4],
[4, 4, 2],
[2, 4, 3],
[2, 4, 2, 3],
[1, 2, 3, 4]]
谁知道怎么样?我设法得到了必须删除的数字,但它不是我想要的..
注意:必须为x长度的场数组和坐标相同。
感谢您的帮助!
答案 0 :(得分:1)
使用此:
for c in sorted(co, reverse=True):
field[c[0]].pop(c[1])
或者@ njzk2建议:
for (x, y) in sorted(co, reverse=True): del field[x][y]
只需访问索引field
中的c[0]
列表列表,即列出要访问的列表。
然后从索引c[1]
中的子列表中弹出元素。
结果现在位于field
。
注意:我会按相反顺序对它们进行排序,以便从同一列表中删除,因此以前元素的索引不会更改。例如:(0, 3)
应该在(0, 1)
之前弹出。