我不确定如何将跟在字符串后面的数字乘以字符串。 我想找到化合物的相对分子质量(RMM),所以我先制作了一个RMM字典,然后将它们加在一起。 我遇到的问题是对于像H2O这样的化合物。
name = input("Insert the name of a molecule/atom to find its RMM/RAM: ")
compound = re.sub('([A-Z])', r' \1', name)
Compound = compound.split(' ')
r = re.split('(\d+)', compound)
例如:
When name = H2O
Compound = ['', 'H2', 'O']
r = ['H', '2', 'O']
我希望将2乘以H得出一个值"['H', 'H', 'O']"。
简而言之:我想要在列表中的名称后打印出整数,这个整数代表了前面列出的对象需要打印的数量(例如:[O, 2] => O O, [C, O, 2] => C O O)。
这个问题可能有些复杂,请让我知道是否需要澄清。谢谢。
[char for charGroup in ['HH', 'O'] for char in charGroup]
的方法来展开结果列表,输出['H', 'H', 'O']
。 - evan.oman