Почему код не считывает отрицательные числа из файла

Входной файл содержит:

8

7

-100

a

Вывод только [8, 7] Как исправить? Не понимаю

f_in = open('input.in', 'r')
f_out = open('output.out', 'w')

Lines = f_in.read()
my_set = set ()
s = list(my_set)
results = list(map(int, s))
with open('input.in', 'r') as f:
   my_list = f.read().splitlines()
   for elem in my_list:
       if elem.isdigit():
           results.append(elem)
print(results)

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

Автор решения: timur

str.isdigit возвращает True, только если строка состоит только из цифр.

Попробуйте так (взято отсюда):

   for elem in my_list:
       try:
           int(elem)
           results.append(elem)
       except ValueError:
           pass

или так (но это вернёт True для строки '------1'):

   for elem in my_list:
       if elem.lstrip("-").isdigit():
           results.append(elem)
→ Ссылка