Ответ 1
Вы не можете что-то изменить, пока вы его итерации. Результаты являются странными и контр-интуитивными, и почти никогда не то, что вы хотите. Фактически, многие коллекции явно запрещают это (например, sets и dicts).
Вместо этого перебирайте копию (для e в файле [:]:...) или вместо изменения существующего списка фильтруйте ее, чтобы получить новый список, содержащий нужные вам элементы ([e для e в если...]). Обратите внимание, что во многих случаях вам не нужно снова итерации фильтровать, просто объединить фильтрацию с генерацией данных.
L2 = []
for (a,b) in L1:
if a >= 0 and b >= 0:
L2.append((a,b))
L1 = L2
print L1