生成具有指定长度的嵌套列表

时间:2013-02-26 21:39:30

标签: python list python-2.7 nested

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

如何添加一个条件告诉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] ...等]

    
  

1 个答案:

答案 0 :(得分:5)

您需要 生成器表达式 列表理解

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

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