Калян дал возможный способ, но не смог объяснить, почему.
Когда попросит Python напечатать список, он выведет начало и конец маркеров списка ([]
) и представление всех пунктов списка.Для строки это означает, что непечатаемые символы будут экранированы.
Вы мало что можете сделать, кроме как отдельно печатать элементы
for i lst:
print i
или создать уникальную строку с объединением:
string_to_output = '[' + ', '.join(lst) + ']'
print(string_to_output)
Кстати, как пояснил Остин, '\x01b[1m
- это последовательность запросов к ANSI-совместимому терминалу для прохождения в полужирном режиме, поэтому вы должны одновременно вернуться в нормальный режим с помощью '\x01b[0m
.
И помните: ANSI распространен в эмуляции терминала Linux, но все еще далек от универсальности ... Просто попробуйте использовать export TERM=tvi950
перед его использованием (и google для vt100 и tvi950, чтобы понять больше) ...