如何隔离已添加n次的列表元素?

时间:2019-03-05 14:23:09

标签: python

我有以下代码,它接受用户输入的道路上的车位数量,应该返回一个随机列表,其中1代表汽车,0代表零。然后在从0到1的所有道路密度上重复进行此操作,并随机分配分布。

spacenum = int(input("Enter number of road spaces:"))
    i=0
    while i<= spacenum:
        a.append([1]*i)
        a.append([0]*(spacenum-(i)))
        random.shuffle(a)
        print (str(a).strip('],'))
        a.clear()
        i+=1

这将为n = 3生成以下列表:

Enter number of road spaces:3
[[], [0, 0, 0]]
[[1], [0, 0]]
[[0], [1, 1]]
[[1, 1, 1], []]

正在发生的是,每个1或0的块都作为一个元素粘在一起,这不是我想要的。如何重写我的代码,以使每个1和0均匀分布在每个列表中。感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

您似乎试图通过在列表末尾附加列表来扩展列表。请改用a.extend()