遍历numpy数组列表

我有一个多维数组的列表,需要访问每个数组并对其进行操作。模拟数据:

list_of_arrays = map(lambda x: x*np.random.rand(2,2), range(4))
list_of_arrays
[array([[ 0.,  0.],[ 0.,  0.]]), array([[ 0.39881669,  0.65894242],[ 0.10857551,   0.53317832]]), array([[ 1.39833735,  0.1097232 ],[ 1.89622798,  1.79167888]]), array([[ 1.98242087,  0.3287465 ],[ 1.2449321 ,  2.27102359]])]

我的问题是:

1-我如何迭代list_of_arrays,所以每次迭代都会返回每个单独的数组?
例如,迭代1返回list_of_arrays[0]...最后迭代返回list_of_arrays[-1]

2-如何将每次迭代的结果用作另一个函数的输入?

我是Python的新手。我的第一个想法是在for循环内定义函数,但是我不清楚如何实现此功能:

for i in list_of_array:
    def do_something():

我想知道是否有人对此有一个好的解决方案。

科里·克莱默(Cory Kramer)

您可以在其他位置定义函数,然后在循环中调用它。您无需在循环中一遍又一遍地定义函数。

def do_something(np_array):
    # work on the array here

for i in list_of_array:
    do_something(i)

作为一个工作示例,仅说我sum在每个函数上都调用了该函数array

def total(np_array):
    return sum(np_array)

现在我可以在for循环中调用它

for i in list_of_arrays:
    print total(i)

输出

[ 0.  0.]
[ 1.13075762  0.87658186]
[ 2.34610724  0.77485066]
[ 1.08704527  2.59122417]

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章