gpt4 book ai didi

python - 将字符串的一部分更改为下标

转载 作者:行者123 更新时间:2023-12-05 07:14:41 27 4
gpt4 key购买 nike

我有一个字符串列表,我想把'_Octa', '_Tet'等放在下标中

original = ['VO₆_Octa', 'FeO₄_Tet', 'FeO₆_Oct', 'BaO₉_Tsf', 'PrO₆_Oct', 'CaO₆_Oct',
'HgO₂_Lin', 'CrO₆_Oct', 'AgO₄_Tet', 'EuO₉_Tsf']

截图里贴出了我想要的

enter image description here

我在一个列表中有数百个这样的字符串。对于数字,我找到了很多这样的答案,我也可以在我的案例中应用。有没有更好的方法来处理这样的字符串?对类似问题的任何帮助或指示都会很棒。

最佳答案

使用这些!

SUB = 
str.maketrans("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_",
"₀₁₂₃₄₅₆₇₈₉ₐᵦ𝒸𝒹ₑfgₕᵢⱼₖₗₘₙₒₚqᵣₛₜᵤᵥwₓyz🇦🇧🇨🇩🇪🇫🇬🇭🇮🇯🇰🇱🇲🇳🇴🇵🇶🇷🇸🇹🇺🇻🇼🇽🇾🇿₋")


SUP =
str.maketrans("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_",
"⁰¹²³⁴⁵⁶⁷⁸⁹ᵃᵇᶜᵈᵉᶠᵍʰⁱʲᵏˡᵐⁿᵒᵖᵠʳˢᵗᵘᵛʷˣʸᶻᵃᵇᶜᵈᵉᶠᵍʰⁱʲᵏˡᵐⁿᵒᵖᵠʳˢᵗᵘᵛʷˣʸᶻ‾")

代码如下:

original = ['VO₆_Octa', 'FeO₄_Tet', 'FeO₆_Oct', 'BaO₉_Tsf', 'PrO₆_Oct', 'CaO₆_Oct',
'HgO₂_Lin', 'CrO₆_Oct', 'AgO₄_Tet', 'EuO₉_Tsf']

SUB =
str.maketrans("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_",
"₀₁₂₃₄₅₆₇₈₉ₐᵦ𝒸𝒹ₑfgₕᵢⱼₖₗₘₙₒₚqᵣₛₜᵤᵥwₓyz🇦🇧🇨🇩🇪🇫🇬🇭🇮🇯🇰🇱🇲🇳🇴🇵🇶🇷🇸🇹🇺🇻🇼🇽🇾🇿₋")


SUP =
str.maketrans("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_",
"⁰¹²³⁴⁵⁶⁷⁸⁹ᵃᵇᶜᵈᵉᶠᵍʰⁱʲᵏˡᵐⁿᵒᵖᵠʳˢᵗᵘᵛʷˣʸᶻᵃᵇᶜᵈᵉᶠᵍʰⁱʲᵏˡᵐⁿᵒᵖᵠʳˢᵗᵘᵛʷˣʸᶻ‾")

new = []

for item in original:
x = item.split('_')
new.append(x[0] + "₋" + x[1].translate(SUB))

print(new)

您可能已经注意到,有些字母实际上并没有正确转换为小写字母。这是因为下标和上标的字母表实际上并不作为 Unicode 中的正确字母表存在。我使用了各种在线转换器,只能得到您在上面看到的字母的转换(即:不包括小写 b、c、d、f、g、q、w、y、z)。

但是在我看来,更好的方法是以某种标记语言格式化字符串(HTML、Latex 等)。您必须在 HTML 中使用简单的 <sub></sub><sup></sup> 标签。

关于python - 将字符串的一部分更改为下标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59798136/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com