从阵列中获取特定数字

时间:2014-12-30 16:54:13

标签: python arrays

所以这是我的阵列:

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长度的场数组和坐标相同。

感谢您的帮助!

1 个答案:

答案 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)之前弹出。