擅长:python、mysql、java
<p>这并不使用您的尝试,但当我们假设您的元素总是以大写字母开头(否则仅由小写字母组成)时,它就起作用了:</p>
<pre><code>def f(s):
# split string by elements
import re
elements = re.findall('[A-Z][^A-Z]*', s)
# make a list of strings, where the first string has the first element removed, the second string the second, ...
r = []
for i in range(len(elements)):
r.append(''.join(elements[:i]+elements[i+1:]))
# return this list
return r
</code></pre>
<p>当然,这仍然只适用于一个字符串。所以,如果你有一个字符串列表l,你想把它应用到其中的每个字符串,只需使用一个for循环,如下所示:</p>
<pre><code># your list of strings
l = ["AlCrHfMoNbN", "AlCrHfMoTaN", "AlCrHfMoTiN", "AlCrHfMoVN", "AlCrHfMoWN"]
# iterate through your input list
for s in l:
# call above function
r = f(s)
# print out the result if you want to
[print(i) for i in r]
</code></pre>