2016-10-15 14 views

回答

0

不知道那裏有這樣做,但 的更有效的方式,嘗試:

string = "antlapcap" 
list = [] 
i = 0 
for i in range(i,len(string)): 
    word =string[i:i+3] 
    list.append(word) 
    i=i+3 
j = list 
b =j[::3] 
print(b) 
0

遍歷字符串,添加一個字符串變量,直到它達到一定的長度,然後將字符串附加到名單。例如。

def split_at_nth(string, split_size): 
    s = '' 
    res = [] 
    for char in string: 
     s += char 
     if len(s) == split_size: 
      res.append(s) 
      s = '' 
    return res 

s = 'antlapcap' 
print(split_at_nth(s, 3)) # prints ['ant', 'lap', 'cap'] 

另一種選擇是使用一系列列表內涵:

def split_at_nth(string, split_size): 
    res = [c for c in string] 
    res = [sub for sub in zip(*[iter(res)]*3)] 
    res = [''.join(tup) for tup in res] 
    return res 

s = 'antlapcap' 
print(split_at_nth(s, 3)) # prints ['ant', 'lap', 'cap'] 
0

這是一個簡單的方法來做到這一點。

>>> a="abcdefghi" 
>>> x=[] 
>>> while len(a) != 0: 
... x.append(a[:3]) 
... a=a[3:] 
... 
>>> a 
'' 
>>> x 
['abc', 'def', 'ghi'] 

這只是追加到列表x字符串a的前3個字符,然後重新定義直到a耗盡a是在a一切,除了前3個字符等。

帶帽子提示用戶@vlk(Split python string every nth character?),雖然我已經改變了while聲明

+0

由於這種方式比較容易了很多,然後我找到了其他方式,感謝了一堆 –

+0

歡迎您 –