Python 通过沿元素列表移动窗口来操作元素的延伸

Python 通过沿元素列表移动窗口来操作元素的延伸,python,string,list,sum,Python,String,List,Sum,我试图通过沿列表移动N来对元素的拉伸总和进行操作。例如,如果我有['A','B','C','D','E','F'],并且我按N=2移动,我希望有['A+B','B+C','C+D','D+E','E+F']。您能推荐一种适合Python的方法吗?使用列表理解: l = ['A', 'B', 'C', 'D', 'E', 'F'] n = 2 result = [' + '.join(l[i:i+n]) for i in range(len(l)-(n-1))] Out: >>&

我试图通过沿列表移动N来对元素的拉伸总和进行操作。例如,如果我有
['A','B','C','D','E','F']
,并且我按N=2移动,我希望有
['A+B','B+C','C+D','D+E','E+F']
。您能推荐一种适合Python的方法吗?

使用列表理解:

l = ['A', 'B', 'C', 'D', 'E', 'F']

n = 2

result = [' + '.join(l[i:i+n]) for i in range(len(l)-(n-1))]
Out:

>>> result
['A + B', 'B + C', 'C + D', 'D + E', 'E + F']
>>> result
[3, 5, 7, 9, 11]
或者,如果您确实希望对元素求和而不是创建字符串,则可以使用
sum()

Out:

>>> result
['A + B', 'B + C', 'C + D', 'D + E', 'E + F']
>>> result
[3, 5, 7, 9, 11]

当然,这可以使用标准的库工具来实现,但是您可能需要看看nice 有

输出:

('A', 'B')
('B', 'C')
('C', 'D')
('D', 'E')
('E', 'F')