Моя функция продолжает пропускать отрицательные значения из списка целых чисел - PullRequest
0 голосов
/ 26 мая 2020

Моя функция продолжает пропускать отрицательные значения из списка целых чисел, который я читаю из rating (2) .txt. Я пробовал несколько методов, но, похоже, они не работают. Вот мой код:

with open("ratings (2).txt", 'r') as old_ratings:
        my_list = []
        for line in old_ratings:
            temporary = line.split(' ')
            firstele = (line[2])
            try:
                int(firstele[0])
                my_list.append(firstele)
            except:
                pass
        for lst in my_list:
            for l in lst:
                    if l == '\n' or l == '0\n':
                        lst.remove(l)
        print(my_list)

1 Ответ

0 голосов
/ 26 мая 2020

Тихий сброс исключений очень усложняет отладку:

            try:
                int(firstele[0])
                my_list.append(firstele)
            except:
                # something failed, but now we'll never know why!
                pass

Если вы удалите это try/except, программа остановится, когда обнаружит значение, которое не может проанализировать, и сообщит вам что это такое, чтобы вы могли выяснить, как решить проблему.

Если вы не хотите, чтобы вся программа останавливалась, когда это происходит, вы можете, по крайней мере, распечатать исключение, выполнив что-то вроде:

            try:
                int(firstele[0])
                my_list.append(firstele)
            except Exception as e:
                print(e)

Я подозреваю, что происходит то, что вы пытаетесь разобрать строку вроде "-" как int.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...