我試圖獲取位於列表中的單詞中字母的位置。 在代碼中,k
是一個包含"ATCGCATCG"
的部分的列表,分3部分,如"ATC", "GCA" and "TCG".
我想要的是爲每個人都檢索第一個和最後一個位置。在此,ATC
應該有1 and 3
,因爲A
是第一個,而C
是第三個。因此,對於GCA
,應該是4
和6,
等等。檢索存在於字符串中的子字符串的位置
因此,輸出應該是這樣的:
PART1 ATC 1 3
PART2 GCA 4 6
PART3 TCG 7 9
但是什麼我能得到的是:
PART1 ATC 0 0
PART2 GCA 1 2
PART3 TCG 2 4
生產這種輸出的代碼是:
def separate(string,n):
k = [string[i:i+n] for i in range(0, len(string),n)]
yield k
i=1
for element in k:
print 'PART' + str(i) + '\t' + element + '\t' + str(int(k.index(element))) + str(int((k.index(element)) + int(k.index(element))))
i=i+1
for it in list((separate("ATCGCATCG", n =3))):
print it
如果您能向我展示一個選項,我將不勝感激。
謝謝!
你在裏面搜索哪裏? –
我編輯得更清晰 – bapors
你不需要在你的函數內部產生循環。它根本不可讀。 –