Если список не большой, то проще всего создать новый список:
In [7]: old_map = [[-1, 2], [5, -3], [2, 3], [1, -1], [7, 1]]
In [8]: new_map=[[x,y] for x,y in a_map if not (x<0 or y<0)]
In [9]: new_map
Out[9]: [[2, 3], [7, 1]]
Вы можете выполнить это с old_map = new_map
, если хотите сбросить другие пары.
Если список настолько велик, создание нового списка сопоставимого размера является проблемой, то вы можете удалить элементы из списка на месте - хитрость заключается в том, чтобы сначала удалить их из хвостовой части:
the_map = [[-1, 2], [5, -3], [2, 3], [1, -1], [7, 1]]
for i in range(len(the_map)-1,-1,-1):
pair=the_map[i]
for coord in pair:
if coord < 0:
del the_map[i]
print(the_map)
1010 * выходы *
[[2, 3], [7, 1]]
PS. map - это такая полезная встроенная функция Python. Лучше не называть переменную map
, поскольку она переопределяет встроенную.