<p>是因为您在检查<code>aminoacids</code>中的字符串后将字符串设为大写吗?试着把<code>contentjoined = contentjoined.upper()</code>向上移动一两行。你知道吗</p>
<p>当您检查<code>aminoacids</code>时,您为<code>str.translate</code>提供了一个完全小写的字符串,因此它与字符串不匹配。结果是这样的:</p>
<pre><code>>>> c = contentjoined.translate(None,''.join([i for i in contentjoined if i not in aminoacids]))
>>> c
''
</code></pre>
<p>如果您首先调用<code>upper</code>,那么您将比较一个大写字符串和一个大写字符串列表,这样实际上就有了匹配项。它看起来是这样的:</p>
<pre><code>>>> contentjoined = contentjoined.upper()
>>> c = contentjoined.translate(None,''.join([i for i in contentjoined if i not in aminoacids]))
>>> c
'MDVFMKGLSKAKEGVVAAAEKTKQGVAEAAGKTKEGVLYVGSKTKEGVVHGVATVAEKTKEQVTNVGGAVVTGVTAVAQKTVEGAGSIAAATGFVKKDQLGKNEEGAPQEGILEDMPVDPDNEAYEMPSEEGYQDYEPEA'
</code></pre>
<p>如果要将字符串保留为小写字母,只需将其与大写字母进行比较并保留小写字母即可。看起来是这样的:</p>
<pre><code>>>> c = contentjoined.translate(None,''.join([i for i in contentjoined.upper() if i not in aminoacids]))
>>> c
'mdvfmkglskakegvvaaaektkqgvaeaagktkegvlyvgsktkegvvhgvatvaektkeqvtnvggavvtgvtavaqktvegagsiaaatgfvkkdqlgkneegapqegiledmpvdpdneayempseegyqdyepea'
</code></pre>