在python中从2d数组列表中选择一个随机元素

在python中从2d数组列表中选择一个随机元素,python,multidimensional-array,Python,Multidimensional Array,我目前有一个由以下代码生成的2d数组: for y in range(width): self.grid.append([]) for x in range(width): self.grid[y].append(Cell(x, y)) 如果我想选择一个随机单元格,我将如何进行?random.choice似乎不起作用。您可以执行以下操作 yCoord = random.randrange(width) xCoord = random.randrange(widt

我目前有一个由以下代码生成的2d数组:

for y in range(width):
    self.grid.append([])
    for x in range(width):
        self.grid[y].append(Cell(x, y))

如果我想选择一个随机单元格,我将如何进行?random.choice似乎不起作用。

您可以执行以下操作

yCoord = random.randrange(width)
xCoord = random.randrange(width)
randomCell = self.grid[yCoord][xCoord]

如果您确实想使用random.choice,您必须使用它两次,因为第一次调用将返回一个单元格数组,然后第二次调用将返回一个单元格元素。

您可以执行以下操作

yCoord = random.randrange(width)
xCoord = random.randrange(width)
randomCell = self.grid[yCoord][xCoord]
如果确实要使用random.choice,则必须使用两次,因为第一次调用将返回单元格数组,第二次调用将返回单元格元素。

您可以使用:

s = list[random.randint(0, len(list) - 1]
rn = s[random.randint(0, len(s) - 1]
您需要使用双线,因为您需要找到子列表的长度。我不知道也不认为存在任何直接的方法。

您可以使用:

s = list[random.randint(0, len(list) - 1]
rn = s[random.randint(0, len(s) - 1]

您需要使用双线,因为您需要找到子列表的长度。我不知道也不认为存在任何直接的方法。

选择一个随机
x
值,一个随机
y
,您的随机单元格将是
self.grid[random\u x][random\u y]
。您可以使用
random.randint
random.randrange
来执行此操作。这是否回答了您的问题?选择一个随机
x
值,一个随机
y
,您的随机单元格将是
self.grid[random\ux][random\uy]
。您可以使用
random.randint
random.randrange
来执行此操作。这是否回答了您的问题?