带条件列表中项目的随机选择

2024-04-29 08:27:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我想知道是否可以对列表列表执行random.choice(),只选择一个0坐标。也可以将随机选取的坐标保存到变量中吗

也就是说,我有一个列表,如下所示:

[[0, 2, 0, 0, 0],
 [0, 0, 0, 0, 1],
 [0, 0, 1, 2, 0],
 [0, 2, 0, 0, 0],
 [0, 0, 0, 0, 0]]

我只想选取那些坐标,它是0,然后把坐标保存到变量中

谢谢


Tags: 列表randomchoice
2条回答

随机整数可以是您想要的大小-实际上远远高于整数级别,而不仅仅是0、1和2。以下是剪切/粘贴:

random.nextOct=223372036854775807147483647

您只需重写Random类。并在内部施加条件

以下是一个链接:

https://cyberconfidential.net/Comparisson1.html#HOW

使用“理解”获取等于0的项目坐标:

import random

L = [[0, 2, 0, 0, 0],
     [0, 0, 0, 0, 1],
     [0, 0, 1, 2, 0],
     [0, 2, 0, 0, 0],
     [0, 0, 0, 0, 0]]

coords = [(x, y) for x, l in enumerate(L) for y, i in enumerate(l) if i == 0]

x, y = random.choice(coords)
>>> L[x][y]
0

相关问题 更多 >