Как заставить символы Юникода правильно печатать с помощью Python?

Я использую Python для печати определенных символов с использованием кода Unicode, но столкнулся с проблемой. Я могу печатать только определенные символы. Например:

lista = ['\u23fb', '\u23fc', '\u23fd', '\u23fe', '\ue001', '\ue002',' \ue003', '\ue004' ,'\ue005']

print(lista)

даст мне в результате:

['⏻', '⏼', '⏽', '⏾', '\ue001', '\ue002', ' \ue003', '\ue004', '\ue005']

Кроме того, если я пройдусь по списку и распечатаю каждый элемент, это не сработает,

но если я использую:

print(*lista)

он будет печатать правильно:

Как заставить символы Юникода правильно печатать с помощью Python?

Так почему же есть разница?

Это также работает, если я печатаю каждый из них с аргументом печати, например:

print("\ue001")

приведет к правильному выводу.

Я пробовал разные методы форматирования, но безуспешно.

Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
0
56
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Когда list печатается, Python использует функцию str.__repr__ для печати элементов в списке. print использует функцию str.__str__. Первая представляет собой удобную для программистов версию, которая отображает непечатаемые или неопределенные символы Юникода в качестве escape-кодов. U+E000 - U+F8FF — это зона частного использования, которая считается неопределенной. print будет отображать любой символ, который ваш шрифт имеет для этого места, или неопределенный символ (U+FFFD, �, зависит от шрифта), если он не определен в шрифте.

Спасибо за объяснение. Теперь я могу решить свою проблему соответствующим образом.

Borolo222 21.05.2024 19:22

Другие вопросы по теме