2011-10-10 46 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] 

(這只是衆多方法之一)。