首页 > 解决方案 > Sympy 中的元素划分

问题描述

我的问题似乎很简单,但我似乎找不到任何资源。我想象征性地使用 SymPy 进行元素划分。我想做的是

# input_array
arr1 = [2, 27, 2, 21, 23]
arr2 = [2, 3, 4, 5, 6]
  
# output_array
out = np.divide(arr1, arr2)

并接收表单的输出

[1, 9, 0.5, 4.2, 3.83333333]

除了在 Sympy 中使用符号而不是实际数字。有没有一种简单的方法可以做到这一点?

标签: pythonsympy

解决方案


由于您使用的是 python,因此@JohanC 指示的列表理解是一种简单的方法。如果您想定期使用这样的东西,那么在您自己的库文件(或 pythonstartups)中创建一个帮助程序可能是个好主意,例如

>>> elwise = lambda a, b, f: [f(i,j) for i,j in zip(a,b)]
>>> div = lambda a, b: elwise(a,b, lambda x,y: x/y)
>>> a = [1, 2, 3]
>>> b = [4, 5, 6]
>>> div(a,b)
[0.25, 0.4, 0.5]

推荐阅读