Удаление елемента списка после выполнения цикла
Есть такая задача: ОТЧЕТ ПО СЧЕТАМ Напишите программу, которая проходит по всем операциям в файле bank.txt, а после выводит все счета и баланс каждого счета.
Данные нужно вывести в следующем формате: Счет1 Баланс1;Счет2 Баланс2;Счет N; Баланс N. То есть счета между собой разделены точкой с запятой, а каждый счет по отдельности содержит свой номер и баланс, разделенные пробелом.
Счета нужно выводить в порядке увеличения баланса (см. пример отчета ниже). В файле есть счет 000 — это внутренний счет банка, его выводить не надо:
000;123;200 123;456;100 456;789;200 789;123;500
Пример отчета (на основе данных из условия): 789 -300;456 -100;123 600
Код ниже считает сумму по каждому счету и формирует список, который сортируется последним циклом. Отсортировать нужно без использования sort, lambda или функций, только циклами и условиями. Последний цикл находит минимальную сумму и записывает ее в новый список. Затем нужно этот элемент удалить и я не знаю как это сделать. После удаления ищем следующую минимальную сумму и тд. Если удалить его после строки outsort.append(minn) то сортировка не получится. Как удалить элемент правильно, для реализации описанной логики?
from sys import argv
check = argv[1]
a = open("bank.txt", "r", encoding="utf8").readlines()
listcheck = []
for x in a:
if not x[:x.find(";")] in listcheck:
listcheck.append(x[:x.find(";")])
if not x[x.find(";") + 1:x.find(";", x.find(";") + 1)] in listcheck:
listcheck.append(x[x.find(";") + 1:x.find(";", x.find(";") + 1)])
#print(listcheck)
summ = 0
out = []
for y in listcheck:
if y == "000":
continue
for x in a:
endout = x.find(";")
endinc = x.find(";", endout + 1)
outcome = x[:endout]
income = x[endout + 1:endinc]
money = x[endinc + 1:]
if y == outcome:
summ -= int(money)
if y == income:
summ += int(money)
out.append(str(y) + " " + str(summ))
summ = 0
print(out)
q = 1
minn = "999 99999999"
outsort = []
while q <= len(out):
for i, x in enumerate(out):
if int(minn[4:]) > int(x[4:]):
minn = x
outsort.append(minn)
q += 1
print(outsort)