首页 > 解决方案 > 在python中打印一个序列(unicode)-下标

问题描述

我正在尝试创建一个字符串,例如...

mystring = "X\u2080 + X\u2081 + X\u2082 + X\u2083 + ..."
print(mystring)

哪个应该输出'X₀ + X₁ + X₂ + X₃ + ...'

但是,我想用循环顺序添加它们。

我努力了:

mystring = ""
for i in range(0,4):
   mystring += f"X\u208{str(i)} +"

但我得到了错误

(unicode error) 'unicodeescape' codec can't decode bytes in position 1-5
truncated \uXXXX escape

在循环中按顺序添加带有 unicode 的打印项的正确方法是什么?

标签: python-3.xpython-unicode

解决方案


Unicode 转义序列必须完全指定,并且不能与 f 字符串文字中的占位符组合。

要以编程方式生成 unicode 字符,您可以改用该chr函数:

mystring = ' + '.join(f"X{chr(0x2080 + i)}" for i in range(4))

mystring变成:

X₀ + X₁ + X₂ + X₃

推荐阅读