2011-10-10 50 views
0

尝试将一系列碱基对导入数组中。排列阵列中的DNA碱基对

我希望它在形式['AA','AT','AG','AC'...]

这里是我的代码:

paths = [str(x[4:7]) for x in mm_start] 

paths 
['A A', 'A T', 'A G', 'A C', 'T A', 'T T', 'T G', 'T C', 'G A', 'G T', 'G G', 'G C', 'C A', 'C T', 'C G', 'C C']  

我得到的空间在字母之间! 这条命令也没有帮助。

paths = str(paths).replace(" ","") 

paths 
"['AA','AT','AG','AC','TA','TT','TG','TC','GA','GT','GG','GC','CA','CT','CG','CC']" 

现在我得到了(“)在这个数组的开头和结尾。

任何想法非常欢迎!

文本文件碱基对布局

1 2 3 4 A A 
1 2 3 1 A T 
... 

谢谢

回答

0

你正在把列表转换成一个字符串,你真的想说

paths = [pair.replace(" ", "") for pair in paths] 

它遍历字符串列表中的每对,并删除空格而不是将整个列表转换为字符串。

+0

谢谢@Rafe。这有助于一吨! – user986908

0
paths = str(paths).replace(" ","") 

当然好了这是行不通的,因为你转换的列表为一个字符串(你没有把它转换回)。你需要做的是将replace应用到列表的每个元素,而不是列表的字符串表达式。

paths = [str(x[4:7]).replace(" ","") for x in mm_start] 

(这只是众多方法之一)。