2016-11-17 55 views
1

我需要創建一個函數,以遍歷消息中3個字母(3-mers)的所有序列。例如,如果message =「THE CAT」,它應該返回「THE」,「HE」,「E C」,「CA」,「CAT」。在字符串(Python)中對3個字母的所有序列進行迭代(Python)

我試過下面這段代碼,但它並沒有給我排列:

for i,j,k in zip(message[0::3], message[1::3], message[2::3]): 
    return i,j,k 
+1

我認爲值得一提的是,'for'循環中的'return'只會發生一次(第一次到達它:它從函數返回,不再有循環)。 – e0k

回答

2

你可以做

[message[i:i+3] for i in range(len(message)-2)] 

(編輯:-2)

+0

太棒了!非常感謝。 – Chris

相關問題