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

Python中如何实现任意维度列表的元素逐元素乘一个数?

多维列表元素批量乘指定数字的实现方案

递归列表推导式方案

这是适配任意嵌套维度的简洁实现方式,通过递归判断元素类型逐层处理:

def multiply_nested(lst, factor):
    return [multiply_nested(item, factor) if isinstance(item, list) else item * factor for item in lst]

示例用法

  • 二维列表测试:
lst_2d = [[1,2],[1,1],[4,5]]
result = multiply_nested(lst_2d, 2)
print(result)  # 输出: [[2, 4], [2, 2], [8, 10]]
  • 三维列表测试:
lst_3d = [[[1,2],[1,1],[4,5]],[[1,2],[1,1],[4,5]]]
result = multiply_nested(lst_3d, 2)
print(result)  # 输出: [[[2, 4], [2, 2], [8, 10]], [[2, 4], [2, 2], [8, 10]]]

原理说明

  • 遍历列表每个元素,若元素是子列表则递归调用函数处理;
  • 若元素是数字(整数/浮点数),直接与指定因子相乘;
  • 无需提前确定列表维度,天然支持任意嵌套深度的结构。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 10:46:59