python - 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 中使用符号而不是实际数字。有没有一种简单的方法可以做到这一点?
解决方案
由于您使用的是 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]
推荐阅读
- javascript - DvaJS - 将保存的状态从 localStorage 加载到状态中
- c - MPI - 将随机整数发送到根进程时出错
- parallel-processing - Julia 并行性:@distributed (+) 比串行慢?
- angular - 订阅路由守卫中的 observables 及其含义
- javascript - 倒计时答题器 - JS
- python-3.x - Cassandra 3.11.3 and cqlsh not support python 3.6 and 3.7?
- websocket - ServerEnpoint change port
- vue.js - Vuejs v-on click 在组件内不起作用
- c# - 从字符串列表中删除空条目
- python - Python - Tkinter - 从角落调整窗口大小时滚动条自动移动