我想從列表中給出的位置分割一個字符串,並將這些部分添加到新列表中。我開始:拆分一個字符串和數字列表
seq = 'ATCGATCGATCG'
seq_new = []
seq_cut = [2, 8 , 10]
我想獲得:
seq_new = ['AT', 'CGATCG', 'AT', 'CG']
名單與位置的大小和值變量。我該如何處理我的數據?
我想從列表中給出的位置分割一個字符串,並將這些部分添加到新列表中。我開始:拆分一個字符串和數字列表
seq = 'ATCGATCGATCG'
seq_new = []
seq_cut = [2, 8 , 10]
我想獲得:
seq_new = ['AT', 'CGATCG', 'AT', 'CG']
名單與位置的大小和值變量。我該如何處理我的數據?
使用切片:
seq = "ATCGATCGATCG"
seq_new = []
seq_cut = [2, 8, 10]
last = 0
for idx in seq_cut:
seq_new.append(seq[last:idx])
last = idx
seq_new.append(seq[last:])
Python切片語法對於不熟悉它的人來說可能令人望而生畏,但它超級強大(+1)https://docs.python.org/2.3/whatsnew/section-slices.html – TeneCursum 2015-03-13 17:14:36
補充 - 只是要從我的編輯器複製/粘貼幾乎完全一樣:p – 2015-03-13 17:20:24
爲了增加對稱性,你可以在第一個對象上使用'None'(就像我剛剛做的那樣!:P) – DSM 2015-03-13 17:20:55
這可以通過修改版本在[本文](http://stackoverflow.com/a/21303303/4621513)中描述的「配對」配方(作爲練習留給讀者)!得到的表達式是'[seq [start:end]用於開始,以pairwise結尾(seq_cut)]' – mkrieger1 2015-03-13 17:52:43