正如标题中所述,我正在尝试打印包含彩色数字的列表。
代码
from termcolor import colored
lista = [1,5,12,54,63,colored(23,"red"),65]
print(lista)
终端
[1, 5, 12, 54, 63, '\x1b[31m23\x1b[0m', 65]
我本以为会看到红色的 23,但它打印了代码
您遇到的问题是,当您打印包含彩色数字的列表时,颜色格式的转义码也包含在输出中。 print() 不会直接解释终端转义码。相反,终端使用它们来格式化文本。
为了实现所需的输出,您应该单独打印列表中的每个元素,而不是打印整个列表。这样,颜色格式将被正确应用。方法如下:
from termcolor import colored
lista = [1, 5, 12, 54, 63, colored(23, "red"), 65]
for item in lista:
print(item, end=" ")
或者您可以解压这些列表项:
from termcolor import colored
lista = [1, 5, 12, 54, 63, colored(23, "red"), 65]
print(*lista, sep=" ")