我正在寻找一种方法来查找 python 中两个字符串之间不匹配的总数。我的输入是一个看起来像这样的列表
['sequence=AGATGG', 'sequence=AGCTAG', 'sequence=TGCTAG',
'sequence=AGGTAG', 'sequence=AGCTAG', 'sequence=AGAGAG']
Run Code Online (Sandbox Code Playgroud)
对于每个字符串,我想看看它与序列有多少差异"sequence=AGATAA"。因此,如果输入[0]来自上面的列表,则输出将如下所示:
sequence=AGATGG, 2
Run Code Online (Sandbox Code Playgroud)
我不知道是否将每个字母拆分为单独的列表,或者是否应该尝试以某种方式比较整个字符串。任何帮助都是有用的,谢谢
您可以使用sum和轻松计算两个字符串之间成对不匹配的总数zip:
>>> s1='AGATGG'
>>> s2='AGATAA'
>>> sum(c1!=c2 for c1,c2 in zip(s1,s2))
2
Run Code Online (Sandbox Code Playgroud)
如果您必须处理大小不同的字符串,您可能希望使用from itertools import zip_longest而不是zip
| 归档时间: |
|
| 查看次数: |
4359 次 |
| 最近记录: |