Python中嵌套数组如何实现对应位置元素的逐元素除法
嵌套数组逐元素对应除法实现方案
我们可以用多种方式实现需求,以下是Python语言的不同实现方案:
1. 原生Python实现(无第三方依赖)
直接通过zip配对两个子数组的对应元素,逐位计算:
arr = [[1, 2, 3, 4], [5, 6, 7, 8]] # 配对两个子数组的对应元素,用第二个子数组元素除以第一个 result = [b / a for a, b in zip(arr[0], arr[1])] print(result)
输出结果:
[5.0, 3.0, 2.3333333333333335, 2.0]
2. 保留分数形式输出
如果需要保留分数格式而不是转成浮点数,可以借助Python内置的fractions模块:
from fractions import Fraction arr = [[1, 2, 3, 4], [5, 6, 7, 8]] result = [Fraction(b, a) for a, b in zip(arr[0], arr[1])] # 转成字符串形式展示 print([str(fr) for fr in result])
输出结果:
['5', '3', '7/3', '2']
3. 大数据量场景(numpy实现)
如果数组规模较大,推荐用numpy的向量化运算,性能更高:
import numpy as np arr = np.array([[1, 2, 3, 4], [5, 6, 7, 8]]) result = arr[1] / arr[0] print(result.tolist())
输出和原生Python实现一致。
内容的提问来源于stack exchange,提问作者user16440950
相关产品推荐
相关产品推荐

