如何解决如何使用python映射来自两个不同字符串的匹配字符的索引?
给定两个字符串,A和B的长度各不相同(它们可能具有相同的长度),当A中的字符与B中的字符匹配时,我想将B的索引映射到A的索引。
# Example 1
string A: 'DsgiAKKBCLIDFCFCE'
string B: 'ABDCEF'
answer: {0:4,1:7,2:11,3:13,4:16}
# Example 2
string A: 'ECDABF'
string B: 'ABDCEF'
answer: {0:3,1:4,5:5}
# Example 3
string A: 'GKVRVNAL'
string B: 'TFTGKVRNHNLGDSVNALT'
answer: {3:0,4:1,5:2,6:3,14:4,15:5,16:6,17:7}
我描述代码工作方式的方式是这样的:
# For example 1
string A: DsgiAKKBCLIDFCFCE
B match: A B D C E
B index: 0 1 2 3 4
F不存在,因为在字符串A中的E之后找不到它。
# For example 2
string A: ECDABF
B match: ABF
B index: 1,2,5
# For example 3
string A: GKVRVNAL
B match: GKVRVNAL
B index: 3,4,5,6,14,15,16,17
解决方法
说实话,我不完全理解您的问题。另外,不应使用biopython对其进行标记,因为根本没有使用该库。
我尝试完成您的任务
a = 'ABDCE'
b = 'DSGIAKKBCLIDFCFCE'
i = 0
result = []
for c_a in a:
while i < len(b):
if b[i] == c_a:
result.append(i)
break
i += 1
print(result)
您以[4,7,11,13,16]
为例。我决定使用列表而不是字典,因为索引无论如何都是从0开始的连续数字。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。