首页 > 解决方案 > Python将后续列表成员相互添加

问题描述

我有以下元素列表:

['e1', 'e2', 'e3']

我想结束:

['e1', 'e1e2', 'e1e2e3']

目前我有以下代码可以实现它,但我想知道是否有任何其他方法,如列表理解,可以使解决方案更短。我对所有建议持开放态度,包括疯狂的建议。此外,它不需要是一个列表,而是任何可迭代的。

my_list = ['e1', 'e2', 'e3']
new_list = []
add_elem = ''
for elem in my_list:
    add_elem += elem
    new_list.append(add_elem)

标签: pythonpython-3.xlistlist-comprehension

解决方案


试试这个itertools.accumulate

import itertools

lst = ['e1', 'e2', 'e3']
print(list(itertools.accumulate(lst)))

文档中描述了更多用法


推荐阅读