Проблема с [int(x) for x in data.split('\r\n')]
состоит в том, что результат будет содержать пустую строку ''
в конце, после последнего \r\n
.Вы можете использовать условие фильтра, чтобы удалить его ...
>>> [int(x) for x in data.split('\r\n') if x]
[25, 35, 5, 15, 25, 35, 5, 15, 25, 35, 5, 15, 25, 35, 5, 15, 25, 35, 5, 15, 25, 35, 5, 15, 25, 35, 5, 15, 25, 35, 5, 15, 25]
... или просто использовать data.split()
без параметра:
>>> [int(x) for x in data.split()]
[25, 35, 5, 15, 25, 35, 5, 15, 25, 35, 5, 15, 25, 35, 5, 15, 25, 35, 5, 15, 25, 35, 5, 15, 25, 35, 5, 15, 25, 35, 5, 15, 25]
Из документации (выделено мое):
S.split(sep=None, maxsplit=-1) -> list of strings
Возвращает список слов в S, используя sep в качестве строки-разделителя.Если задан maxsplit, то делится не более maxsplit. Если sep не указан или Нет, любая строка пробела является разделителем и пустые строки удаляются из результата .