python中链式列表的理解

时间:2015-06-02 04:47:50

标签: python numpy list-comprehension

this = rand(100,3,4)
for i in range(0,100):
    for j in range(0,3):
        for k in range(0,4):
            if rand()<0.5:
                this[i,j,k]=0

randnumpy.random.rand

的位置

以上是否可以用链式列表理解来编写?

目标:为&#34中的每个术语分配值0;这个&#34; (3D矩阵)具有一定概率(0.5)

1 个答案:

答案 0 :(得分:3)

在我看来,你最好使用内置的numpy例程,例如numpy.where ......

>>> import numpy
>>> import numpy.random
>>> x = numpy.random.rand(100, 3, 4)
>>> mask = numpy.random.rand(*x.shape)
>>> result = numpy.where(mask < 0.5, 0, x)