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

如何对嵌套列表中的每个内部子序列分别进行求和运算

实现嵌套子序列分别求和的方案

问题原因

你之前使用apply map +得到的是所有子序列同位元素的和(对应你的示例输入会得到(10 14 18)),直接用reduce也只会对最外层序列做聚合,不符合逐个子序列内部求和的需求。

实现代码

通用思路

遍历外层序列的每一个内部子序列,对每个子序列单独执行求和聚合即可。

常见Lisp方言实现

  • 如果你使用Common Lisp/Scheme:
    1. 输出扁平结果 (6 9 12 15):
    (map (lambda (subseq) (reduce #'+ subseq)) '((1 2 3) (2 3 4) (3 4 5) (4 5 6)))
    
    1. 输出嵌套结果 ((6) (9) (12) (15)):
    (map (lambda (subseq) (list (reduce #'+ subseq))) '((1 2 3) (2 3 4) (3 4 5) (4 5 6)))
    
  • 如果你使用Clojure:
    1. 输出扁平结果:
    (map #(reduce + %) '((1 2 3) (2 3 4) (3 4 5) (4 5 6)))
    
    1. 输出嵌套结果:
    (map #(list (reduce + %)) '((1 2 3) (2 3 4) (3 4 5) (4 5 6)))
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 06:06:04