Skip to main content
 首页 » 编程设计

python之在 Python 中一次遍历列表选择多个元素

2025年05月04日24over140

我有一个列表,我想从中迭代一定长度的切片,尽可能多地相互重叠,例如:

>>> 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)]