The*_*ser 3 python iteration list sequence python-3.x
我有一个列表,我想从中迭代一定长度的切片,尽可能最大程度地相互重叠,例如:
>>> seq = 'ABCDEF'
>>> [''.join(x) for x in zip(seq, seq[1:], seq[2:])]
['ABC', 'BCD', 'CDE', 'DEF']
Run Code Online (Sandbox Code Playgroud)
换句话说,是否有zip(seq, seq[1:], seq[2:])可以指定每个子序列长度的简写?
这不是一个优雅的解决方案,但这是有效的:
seq = 'ABCDEF'
n=3
[seq[i:i+n] for i in range(0, len(seq)+1-n)]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3505 次 |
| 最近记录: |