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 に答える