我有以下代码,它接受用户输入的道路上的车位数量,应该返回一个随机列表,其中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均匀分布在每个列表中。感谢您的帮助。
答案 0 :(得分:2)
您似乎试图通过在列表末尾附加列表来扩展列表。请改用a.extend()
。