You need to enable JavaScript to run this app. Python如何实现列表元素依次拼接生成累积前缀字符串序列
优惠活动
大模型
产品
解决方案
定价
更多

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)

更简洁的实现方式

  • 内置迭代器方案(推荐,Python 3.2+支持)
    使用标准库itertools.accumulate,默认对字符串类型执行累积拼接操作,返回迭代器,性能和原生循环一致,代码仅需一行:
from itertools import accumulate
result = accumulate(['e1', 'e2', 'e3'])
# 如需转列表直接套list()即可:list(result)
  • 海象运算符列表推导(Python 3.8+支持)
    利用海象运算符的赋值返回特性,在列表推导中维护累积变量,时间复杂度O(n),代码简洁:
s = ''
result = [s := s + elem for elem in ['e1', 'e2', 'e3']]
  • 切片拼接列表推导
    通过切片取前N个元素拼接,不需要额外依赖,缺点是时间复杂度为O(n²),仅适合短列表使用:
my_list = ['e1', 'e2', 'e3']
result = [''.join(my_list[:i+1]) for i in range(len(my_list))]

内容的提问来源于stack exchange,提问作者user964986

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.19 21:27:07