在Python 3.3中,有没有什么方法可以在打印时将字符串下标中的一部分文本打印出来?例如H 2(H和下标2)
8oomwypt1#
如果你只关心数字,你可以使用str.maketrans()和str.translate()方法:
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以了解为什么会出现这种情况以及如何解决它。
jyztefdp2#
在控制台上执行的输出是简单的文本。如果终端支持unicode(现在大多数都支持),您可以使用unicode's subscripts。(例如H 2)即下标在以下范围内:
+
-
=
(
)
N
0
F
例如:
In [6]: print(u'H\u2082O\u2082') H₂O₂
对于更复杂的输出,您必须使用标记语言(例如HTML)或排版语言(例如LaTeX)。
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格式。
pexxcrt24#
如果你想在图的轴上使用它,你可以做:
import matplotlib.pyplot as plt plt.plot([1]) plt.ylabel(r'$H_{2}$') plt.show()
它给出了
有关Tex标记语言以及如何在matplotlib中使用它的详细信息可以在here中找到。
6ju8rftf5#
通过使用此代码,您可以在上标和下标上使用字母。在此代码中,format()是Function,而Format function('\ unicode ')通过使用此表(Unicode subscripts and superscripts on Wikipedia),您可以将合适的unicode指定给合适的unicode你可以使用上标和下标
"10{}".format('\u00B2') # superscript 2
5条答案
按热度按时间8oomwypt1#
如果你只关心数字,你可以使用
str.maketrans()
和str.translate()
方法:它将输出:
请注意,这在Python 2中不起作用-请参阅Python 2 maketrans() function doesn't work with Unicode以了解为什么会出现这种情况以及如何解决它。
jyztefdp2#
在控制台上执行的输出是简单的文本。如果终端支持unicode(现在大多数都支持),您可以使用unicode's subscripts。(例如H 2)即下标在以下范围内:
+
、-
、=
、(
、)
(N
从0
到F
)例如:
对于更复杂的输出,您必须使用标记语言(例如HTML)或排版语言(例如LaTeX)。
a5g8bdjr3#
使用这样的代码也可以:
输出为:
请注意,这只适用于Python 3.3及更高版本。Unicode格式。
pexxcrt24#
如果你想在图的轴上使用它,你可以做:
它给出了
有关Tex标记语言以及如何在matplotlib中使用它的详细信息可以在here中找到。
6ju8rftf5#
通过使用此代码,您可以在上标和下标上使用字母。在此代码中,format()是Function,而Format function('\ unicode ')
通过使用此表(Unicode subscripts and superscripts on Wikipedia),您可以将合适的unicode指定给合适的unicode
你可以使用上标和下标