我正在尝试获取元素所在网格的索引列表!=0(最后一部分与问题无关,但我想我会添加它)
#creating the grid
grid = [[0 for x in range(4)] for y in range(5)]
#taking each elements index
grid = [[[x,y] for x, Cell in enumerate(Row) if Cell == 0 ] for y, Row in enumerate(grid)]
print grid #indexes
[[(0, 0), (1, 0), (2, 0), (3, 0)], [(0, 1), (1, 1), (2, 1), (3, 1)], [(0, 2), (1, 2), (2, 2), (3, 2)], [(0, 3), (1, 3), (2, 3), (3, 3)], [(0, 4), (1, 4), (2, 4), (3, 4)]]
我现在需要选择一个随机索引。我打算用随机选择(),但是因为它是一个列表列表,所以这将是一个问题。我知道我可以做两个随机选择()但我更愿意理解列表的含义。你知道吗
谢谢
编辑:
我不用信用证也能做到:
index = []
for y, Row in enumerate(grid):
for x, Cell in enumerate(Row):
if self.grid[y][x] == 0:
index.append((x,y))
给你:
只要去掉你理解范围内的列表就可以建立所有的索引。你知道吗
编辑: 去掉代码中创建的中间列表
这应该管用。你知道吗
相关问题 更多 >
编程相关推荐