2015-11-14 42 views
-3

例如:切割清單蟒蛇基地

my_string='ONETWOTHREEFOURFIVESIXSEVENEIGHTNINETEN' 

,以及如何使之成爲

['ONE','TWO','THREE','FOUR','FIVE','SIX','SEVEN','EIGHT','NINE','TEN'] 

我怎樣才能做到這一點有效,但不導入什麼?

+0

的話總是數字或你不知道什麼出來my_string的? – developer

+1

*每個單詞的長度*如何存儲? – GingerPlusPlus

+0

長度是如何給你的?您可能需要循環並解析字符串。最好是有效地工作,並詢問代碼審查堆棧的效率。如果你不能得到你嘗試過的東西,那麼回到這裏,並在你的代碼上提出一個具體的問題* – dstudeba

回答

1

假設你知道這可能工作的話長度(你需要更新lengths元組):

my_string='ONETWOTHREEFOURFIVESIXSEVENEIGHTNINETEN' 
lengths = (3, 3, 5, 4, 4, 3) 

words = [] 
start = 0 
for i in lengths: 
    words.append(my_string[start:start+i]) 
    start += i 

print(words) # ['ONE', 'TWO', 'THREE', 'FOUR', 'FIVE', 'SIX'] 
0

可以使用match()方法簡單。但在此之前,你需要有與輸出相匹配什麼樣的價值從my_string,如:

var my_string='ONETWOTHREEFOURFIVESIXSEVENEIGHTNINETEN'; 
var one = "ONE"; 
var array = []; 

if(string.match(one)) array.push(one); 
1
lengths = (3, 3, 5, 4, 4, 3) 

it = iter('ONETWOTHREEFOURFIVESIXSEVENEIGHTNINETEN') 

words = (''.join(next(it) for _ in range(length)) for length in lengths)