如何解决如何在python中对齐/匹配多个字符串
我需要某种方式来切换输入,例如:
['luv cats','lovv cots','lov cotts']
在对齐/匹配的输出中:
['l','l','l']
['u','o','o']
[None,'v',None]
['v','v']
[' ',' ',' ']
['c','c','c']
['a','o']
['t','t','t']
[None,None,'t']
['s','s','s']
我正在研究Python,如果有什么事前帮助我想知道的话。我看到了一些DNA测序的东西,似乎是我想做的,但我从未做过类似的事情,对此我感到非常困惑。
任何帮助都将受到赞赏。 谢谢。
解决方法
这是我解决问题的方法:
ls = ['luv cats','lovv cots','lov cotts']
lets = [list(set(a)) for a in ls]
lst1 = lets[0]
lst2 = lets[1]
lst3 = lets[2]
sub = [] #final result list
for i in lst1:
a = [i]
if i in lst2:
a.append(i)
else:
a.append(None)
if i in lst3:
a.append(i)
else:
a.append(None)
sub.append(a)
for j in lst2:
b = 3*[0]
b[1] = j
if j in lst1:
b[0] = j
else:
b[0] = None
if j in lst3:
b[2] = j
else:
b[2] = None
if b not in sub:
sub.append(b)
for j in lst3:
c = 3*[0]
c[2] = j
if j in lst1:
c[0] = j
else:
c[0] = None
if j in lst3:
c[1] = j
else:
c[1] = None
if b not in sub:
sub.append(c)
print(sub)
结果
[['u',None,None],['l','l','l'],['c','c','c'],['v','v','v'],['s','s','s'],[' ',' ',' '],['t','t','t'],['a',[None,'o','o']]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。