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

Python中不同尺寸嵌套数组与标量相乘的实现问题

解决不规则嵌套数组元素批量乘10的问题

为什么Numpy方法失效?

当嵌套数组的子数组长度不一致时,np.array(arr)会创建一个object类型的数组(每个元素是一个子列表/子数组),而非规整的二维数值数组。此时执行*10或np.multiply会将每个子数组对象重复10次,而非对每个元素做乘法,因此达不到预期效果。

可行解决方案

1. 纯Python列表推导式(推荐)

直接利用嵌套列表推导式遍历每个元素,操作简单高效:

arr = [
    [1],
    [2,3], 
    [4],
    [5,6,7],
    [8],
    [9,10,11]
]

result = [[num * 10 for num in sub_arr] for sub_arr in arr]
print(result)

输出结果:

[[10], [20, 30], [40], [50, 60, 70], [80], [90, 100, 110]]

2. Numpy适配方案

如果需要用Numpy处理,需逐个处理每个子数组(每个子数组是规整的一维数组):

import numpy as np

arr = [
    [1],
    [2,3], 
    [4],
    [5,6,7],
    [8],
    [9,10,11]
]

# 遍历每个子数组,转成Numpy数组后乘10,再转回列表
result = [list(np.array(sub) * 10) for sub in arr]
print(result)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 16:45:39