You need to enable JavaScript to run this app. Python使用random.choice从二维列表筛选0值坐标并随机抽取保存
优惠活动
大模型
产品
解决方案
定价
更多

Python使用random.choice从二维列表筛选0值坐标并随机抽取保存

实现方案

可以实现,直接对原二维列表调用random.choice()只会随机返回一整行,没法直接定位到值为0的单个元素坐标,所以更简单的思路是先筛选出所有值为0的坐标存为列表,再对这个坐标列表调用random.choice()抽取即可。

完整代码示例

import random

# 你的示例二维列表
matrix = [
    [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的坐标 (行索引, 列索引)
zero_coords = []
for i in range(len(matrix)):
    for j in range(len(matrix[i])):
        if matrix[i][j] == 0:
            zero_coords.append((i, j))

# 第二步:随机抽取一个坐标存入变量
selected_coord = random.choice(zero_coords)

print("抽取到的坐标:", selected_coord)
print("对应位置的值:", matrix[selected_coord[0]][selected_coord[1]])

补充说明

  • 如果你需要一次性抽取多个不重复的0值坐标,可以把random.choice换成random.sample(zero_coords, k=你要抽的数量),返回的是坐标列表。
  • 如果二维列表尺寸很大,且需要多次抽取,建议只在首次初始化时生成一次zero_coords列表,后续直接复用即可,不需要每次都重新遍历收集。

内容的提问来源于stack exchange,提问作者user2629628

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.09 04:12:03