Удаление елемента списка после выполнения цикла

Есть такая задача: ОТЧЕТ ПО СЧЕТАМ Напишите программу, которая проходит по всем операциям в файле 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)

Ответы (0 шт):