我试图通过在每行的空格之间添加“->;”和“:”来附加字符串列表。我的当前输出如下所示:
0 1 A
1 2 T
2 3 A
3 4 G
4 5 A
2 6 C
0 7 G
7 8 A
8 9 T
但我希望它看起来像:
0->1:A
1->2:T
2->3:A
3->4:G
4->5:A
2->6:C
0->7:G
7->8:A
8->9:T
你可以在下面找到我正在使用的代码。你知道吗
def trie_edges(patterns):
myTrie = trieConstruction(patterns)
sortMatrix = lambda item: ' '.join(map(str,item[0]))+' '+item[1]
return map(sortMatrix, myTrie.edges.items())
def main():
with open('C:/Users/Sami/PycharmProjects/Bioinformatics/rosalind_ba2d.txt') as input_data:
patterns = [line.strip() for line in input_data.readlines()]
createMatrix = trie_edges(patterns)
print ('\n'.join(createMatrix))
或者,内部
re.sub
替换每行中的第一个空格,并将其结果传递给外部re.sub
,后者替换每行中的第二个空格。你知道吗您的
sortMatrix
lambda函数创建了该格式它在所有项目之间插入空格。你知道吗
我会这样做:
所以两个第一项用
->
隔开,另一项用:
使用
format
和删除join
可能更好,因为这对2个元素来说太过致命了(这样就省去了map(str
的麻烦:相关问题 更多 >
编程相关推荐