我有一个列表,我想从中迭代一定长度的切片,尽可能多地相互重叠,例如:
>>> seq = 'ABCDEF'
>>> [''.join(x) for x in zip(seq, seq[1:], seq[2:])]
['ABC', 'BCD', 'CDE', 'DEF']
换句话说,是否有 zip(seq, seq[1:], seq[2:]) 的简写形式,您可以在其中指定每个子序列的长度?
请您参考如下方法:
这不是一个优雅的解决方案,但它有效:
seq = 'ABCDEF'
n=3
[seq[i:i+n] for i in range(0, len(seq)+1-n)]
