作者:小二上酒 | 来源:互联网 | 2022-12-10 14:31
我试图让我的程序在列表列表上重复操作,直到整个事件中没有零.我决定使用七十个零列表(这被用于迷宫发生器).
x=int(input("How many columns?\n"))
y=int(input("How many rows?\n"))
maze=[[0]*x for n in range(y)]
因此,对于输入90和70,应该总共有6300个零.但是,当我使用时
while 0 in maze[:]:
#stuff
......循环立即结束而不做任何事情.我也试过了
while 0 in maze:
#stuff
这就像Python完全忽略了迷宫列表中六千三百个零中的每一个.我知道一种方法来解决这个问题,但它涉及在每次迭代中慢慢滚动y值的范围.有一种更简单的方法可以让它查看一行中的所有子列表吗?
1> John Gordon..:
将该any()
函数与生成器表达式一起使用:
while any(0 in sublist for sublist in maze):
# do stuff