1

我想生成一个列表列表,其中包含随机生成的二进制值的渐进数量。

如何添加一个条件来告诉 python 将随机值添加到列表中,直到它达到指定的长度?在这种情况下,每个新列表的长度应该是一个逐渐变大的奇数。

from random import randint  

shape = [] 
odds = [x for x in range(100) if x % 2 == 1]

while len(shape) < 300:
    for x in odds:
        randy = [randint(0,1)] * x ??  # need to run this code x amount of times 
        shape.append(randy)            # so that each len(randy) = x

*我宁愿不使用 count += 1

所需的输出:

形状 [[0],[0,1,0],[1,1,0,1,0],[1,0,0,0,1,1,0]...等]

4

1 回答 1

5

你想要一个生成器表达式 列表理解

randy = [randint(0, 1) for i in range(x)]

问题[someFunc()] * someNum在于 Python 首先计算内部表达式,someFunc()并在执行外部表达式之前将其解析为某个数字。

于 2013-02-26T21:42:35.420 回答