在Python中打印下标

4ngedf3f  于 2023-03-31  发布在  Python
关注(0)|答案(5)|浏览(131)

在Python 3.3中,有没有什么方法可以在打印时将字符串下标中的一部分文本打印出来?
例如H 2(H和下标2)

8oomwypt

8oomwypt1#

如果你只关心数字,你可以使用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以了解为什么会出现这种情况以及如何解决它。

jyztefdp

jyztefdp2#

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

  • 0x208N表示数字,+-=()N0F
  • 0x209N用于字母

例如:

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

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

a5g8bdjr

a5g8bdjr3#

使用这样的代码也可以:

print('\N{GREEK SMALL LETTER PI}r\N{SUPERSCRIPT TWO}')
print('\N{GREEK CAPITAL LETTER THETA}r\N{SUBSCRIPT TWO}')

输出为:

πr²
Θ₂

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

pexxcrt2

pexxcrt24#

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

import matplotlib.pyplot as plt
plt.plot([1])
plt.ylabel(r'$H_{2}$')
plt.show()

它给出了

有关Tex标记语言以及如何在matplotlib中使用它的详细信息可以在here中找到。

6ju8rftf

6ju8rftf5#

通过使用此代码,您可以在上标和下标上使用字母。在此代码中,format()是Function,而Format function('\ unicode ')
通过使用此表(Unicode subscripts and superscripts on Wikipedia),您可以将合适的unicode指定给合适的unicode
你可以使用上标和下标

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

相关问题