Ray*_*out 2 python random list
假设我有以下8x8 2D列表:
[[0, 1, 0, 1, 0, 1, 0, 1],
[1, 0, 1, 0, 1, 0, 1, 0],
[0, 1, 0, 1, 0, 1, 0, 1],
[0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0],
[-1, 0, -1, 0, -1, 0, -1, 0],
[0, -1, 0, -1, 0, -1, 0, -1],
[-1, 0, -1, 0, -1, 0, -1, 0]]
Run Code Online (Sandbox Code Playgroud)
例如,如何获得值"1"的随机索引?
小智 7
这是一个很好的单行程,具有嵌套列表理解:
import random
random.choice([(i, j) for i, row in enumerate(x) for j, val in enumerate(row) if val == 1])
Run Code Online (Sandbox Code Playgroud)
其中x是你的清单.你只要聚集索引列表(i, j),其中val == 1,然后随机选择一个.
| 归档时间: |
|
| 查看次数: |
416 次 |
| 最近记录: |