如何在循环中创建numpy列表

时间:2014-02-25 05:51:02

标签: python arrays numpy

我有一个numpy数组列表(二维列表):

db = [ch1, ch2, ch3, ch4, ch5, ch6, ch7, ch8, ch9, ch10, ch11, ch12, ch13, ch14, ch15, ch16]

我想在这些数组中执行一些操作:

for i in db:
    newch = (eegFilter(i)/sens)+25

如何使用每个循环迭代的结果创建一个新的二维列表,以便新数组看起来像这样:

[[newch_iteration_1], [newch_iteration_2], [newch_iteration_3], ....]

1 个答案:

答案 0 :(得分:1)

使用列表理解:

[((eegFilter(i)/sens)+25).reshape(1, *i.shape) for i in db]

<强>演示:

In [12]: db = [np.arange(10).reshape(2, 5), np.arange(12).reshape(3, 4)]

In [13]: [(x%2).reshape(1, *x.shape) for x in db]                                                
Out[13]: 
[array([[[0, 1, 0, 1, 0],                                                                        
        [1, 0, 1, 0, 1]]]),                                                                      
 array([[[0, 1, 0, 1],                                                                           
        [0, 1, 0, 1],                                                                            
        [0, 1, 0, 1]]])]