2016-12-31 151 views
0

我需要做一個字符串'abcdef'成一個列表['ab', 'cd', 'ef']上蟒蛇 列表我試圖使用list()但它返回['a', 'b', 'c', 'd',' 'e, 'f']排序串入的蟒蛇

誰能幫助請?

回答

2

您可以使用zip

s = "abcdef" 
[''.join(x) for x in zip(s[::2], s[1::2])] 
# ['ab', 'cd', 'ef'] 

或者

[s[i:i+2] for i in range(0, len(s), 2)] 
# ['ab', 'cd', 'ef'] 
0

如果你不介意額外的功能,你可以使用這樣的事情:

def grouper(string, size): 
    i = 0 
    while i < len(string): 
     yield string[i:i+size] 
     i += size 

這是一個發電機,所以y您需要收集它的所有部分,例如通過使用list

>>> list(grouper('abcdef', 3)) 
['abc', 'def'] 
>>> list(grouper('abcdef', 2)) # <-- that's what you want. 
['ab', 'cd', 'ef']