将功能应用于Python列表中每个元素的快速方法?

时间:2019-11-01 03:46:42

标签: python python-3.x list numpy for-loop

因此,我尝试将Python中的函数应用于列表中的每个元素。除了for循环,还有没有更有效的方法来实现这一点?我用R编写了很多代码,在R中,您将使用apply函数-那么是否有等效的python?

p.s .:最好并行运行,因为我的计算不依赖于先前的输出。

a1 = np.random.rand(3,2,2)
a2 = np.random.rand(3,2,2)
a3 = np.random.rand(3,2,2)
a = list(a1,a2,a3)

现在我需要在列表a上应用一个函数,并在列表中获取结果。因为应该没有效率,所以有没有更快的方法?

2 个答案:

答案 0 :(得分:1)

您可以始终使用:

result = map( my_func, a )   # python2

result = list( map( my_func, a ))   # python3

答案 1 :(得分:0)

result = [rand_func(val) for val in a]