SakuraSa
2016-04-17 22:04:47 +08:00
以前用过一个奇怪的方法实现:
```python
s,n='abcdefghigklmnopqrstuvwxyz',3
g=iter(s)
print([''.join(i) for i in zip(*[g]*n)])
```
>>> ['abc', 'def', 'ghi', 'gkl', 'mno', 'pqr', 'stu', 'vwx']
要保留最后的 yz 的话,可以:
```python
import itertools
s,n='abcdefghigklmnopqrstuvwxyz',3
g=iter(s)
print([''.join(j for j in i if j) for i in itertools.izip_longest(*[g]*n)])
```
>>>['abc', 'def', 'ghi', 'gkl', 'mno', 'pqr', 'stu', 'vwx', 'yz']