python 中的链表理解

Chained list comprehension in python

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

上面可以写成链表推导式吗?

目标:以一定概率(0.5)

为"this"(3D矩阵)中的每个项分配值0

在我看来,你最好使用内置的 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)