Python3 неверно печатает элементы списка
Есть простой список:
tasks = [
['Зона 1:\rЗадача 1\r', True],
['Зона 1:\rЗадача 2\r', True],
['Зона 1:\rЗадача 3\r', True],
['Зона 2: \rЗадача 1\r', True],
['Зона 2: \rЗадача 2\r', True],
['Зона 2: \rЗадача 3', True]
]
При выполнении следующих трех инструкций печатаются совсем разные данные:
for task in tasks:
print(task)
print(task[0])
print(task[1])
Терминал:
['Зона 1:\rЗадача 1\r', True]
Задача 1
True
['Зона 1:\rЗадача 2\r', True]
Задача 2
True
['Зона 1:\rЗадача 3\r', True]
Задача 3
True
['Зона 2: \rЗадача 1\r', True]
Задача 1
True
['Зона 2: \rЗадача 2\r', True]
Задача 2
True
['Зона 2: \rЗадача 3', True]
Задача 3
True
Почему print(task[0]) обрезает строку перед печатью? Может ли это как-то быть связано с тем, что я использую фреймворк Django или тем, что список - результат преобразования json-строки?
Ответы (1 шт):
Автор решения: nomnoms12
Могу предположить, что Вы хотели использовать перевод строки
→ Ссылка
Почему
print(task[0])обрезает строку перед печатью?
Потому что в строке присутствует символ возврата каретки \r (CARRIAGE RETURN).
Описание из Wikipedia:
Перемещает позицию печати в крайнее левое положение (исходно — без перевода на следующую строку).
Могу предположить, что Вы хотели использовать перевод строки
\n.