在python中打印下标

Posted

技术标签:

【中文标题】在python中打印下标【英文标题】:Printing subscript in python 【发布时间】:2014-08-15 00:37:37 【问题描述】:

在 Python 3.3 中,有什么方法可以在打印时在字符串下标中制作一部分文本?

例如H₂(H,然后是下标 2)

【问题讨论】:

您的意思是纯文本、html 还是其他内容?另外,您只对下标数字感兴趣吗? 【参考方案1】:

如果您只关心数字,您可以使用str.maketrans()str.translate() 方法:

example_string = "A0B1C2D3E4F5G6H7I8J9"

SUB = str.maketrans("0123456789", "₀₁₂₃₄₅₆₇₈₉")
SUP = str.maketrans("0123456789", "⁰¹²³⁴⁵⁶⁷⁸⁹")

print(example_string.translate(SUP))
print(example_string.translate(SUB))

将输出:

A⁰B¹C²D³E⁴F⁵G⁶H⁷I⁸J⁹
A₀B₁C₂D₃E₄F₅G₆H₇I₈J₉

请注意,这在 Python 2 中不起作用 - 请参阅 Python 2 maketrans() function doesn't work with Unicode 了解为什么会出现这种情况以及如何解决它。

【讨论】:

+1。 @Sam:要强调的是,唯一可以像这样直接完成的下标需要特殊字符的存在(在Unicode中)。这样,'H₂SO₄' 中的 2 和 4 实际上与 2 和 4 是不同的字符。然而,实现下标和上标的方式是相当不寻常的。正如 Bakuriu 在***.com/a/24391972/1346705 中提到的那样,通常的方法是使用能够显示 Unicode 字符的查看器以外的东西。 这段代码在 Python 3 中很棒,但在 Python 2 中中断:Python 2 maketrans() function doesn't work with Unicode: “the arguments are different lengths” when they actually are【参考方案2】:

如果你想在绘图的轴上使用它,你可以这样做:

import matplotlib.pyplot as plt
plt.plot([1])
plt.ylabel(r'$H_2$')
plt.show()

给了

【讨论】:

【参考方案3】:

使用这样的代码也可以:

print('\NGREEK SMALL LETTER PIr\NSUPERSCRIPT TWO')
print('\NGREEK CAPITAL LETTER THETAr\NSUBSCRIPT TWO')

输出是:

πr²
Θ₂

请注意,这仅适用于 Python 3.3 及更高版本。 Unicode 格式。

【讨论】:

请帮助我理解\N在python中的使用 这对我有用,但仍需要搜索加号的下标代码 @tbhaxor \Nname 是一个转义序列。含义:Unicode 数据库中名为 name 的字符(仅限 Unicode)【参考方案4】:

通过使用此代码,您可以在上标和下标上使用字母 在这段代码中 format() 是 Function 并且在 Format 函数中 ('\unicode')

通过使用此表 (Unicode subscripts and superscripts on Wikipedia),您可以将合适的 unicode 分配给合适的人

你可以使用上标和下标

"10".format('\u00B2')  # superscript 2

【讨论】:

你为什么要在这里使用format?只需 "10\u00B2" 即可。【参考方案5】:

在控制台上执行的输出是简单的文本。如果终端支持 unicode(现在大多数都支持),您可以使用 unicode's subscripts。 (例如 H₂)即下标在范围内:

0x208N 表示数字,+-=()N0 变为 F) 0x209N 表示字母

例如:

In [6]: print(u'H\u2082O\u2082')
H₂O₂

对于更复杂的输出,您必须使用标记语言(例如 HTML)或排版语言(例如 LaTeX)。

【讨论】:

他们最终颠倒了两个 @Sam ?不。下标2 只是一个小2 放低一点。 0x209N 不是完整的字母范围。它只是一个、e、o、x,然后是一个颠倒的 e。

以上是关于在python中打印下标的主要内容,如果未能解决你的问题,请参考以下文章

?python打印列表的下标和值的例子:

在 swift 3 中打印 json 时出现任何下标成员错误 [重复]

C 找数组中最小的元数,找出最小数下标并返回,在主函数中打印最小数和下标?

python 列表

打印极值点下标

打印来自 For Each 函数 VBA 的数组结果得到下标超出范围错误