You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何根据lenwords的n值对numlist连续元素求和生成sumlist并关联upperlist?

解决方法

核心是通过一个索引指针,按lenwords里的每个长度值,依次从numlist中截取对应长度的连续元素段求和,具体步骤如下:

  1. 初始化一个索引变量,用来记录当前在numlist中的起始位置
  2. 遍历lenwords中的每个长度值n:
    • 从numlist的当前索引位置开始,截取长度为n的子列表
    • 计算这个子列表的和,添加到sumlist中
    • 将索引指针向后移动n位,处理下一段元素
  3. 最后用zip()把sumlist和upperlist打包成目标元组列表

完整代码示例

numlist = [0,4,0,4,0,4,0,0,4,0,4]
upperlist = ['EF','FA','FE','FY','IF','OF']
lenwords = [2,2,2,2,2,2]

sumlist = []
current_index = 0

for n in lenwords:
    # 截取当前段并求和
    segment_sum = sum(numlist[current_index:current_index + n])
    sumlist.append(segment_sum)
    # 移动索引到下一段起始位置
    current_index += n

# 打包成目标元组列表
ziplist = list(zip(sumlist, upperlist))
print(ziplist)

运行这段代码后,输出结果就是:

[(4, 'EF'), (4, 'FA'), (4, 'FE'), (4, 'FY'), (4, 'IF'), (4, 'OF')]

只要lenwords的长度和upperlist一致,且numlist的总长度等于lenwords所有元素的和,这个方法就能正常运行。

内容的提问来源于stack exchange,提问作者Juliana Gómez

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 00:35:19