使用 Python 在矩阵中选取一组整数的随机元素



我有一个充满100个整数的矩阵。这些整数是 0、1 和 2 的混合。如何从此矩阵中随机选择一个 0?这个问题有功能吗?

编辑:我还需要知道矩阵中这个随机 0(零(的原点位置,因为之后我必须用另一个值交换这个零

从您描述问题的方式来看,以下代码似乎可以:

print(0)

假设您的矩阵是以下形式的数组数组:

A = [[0, 0, 1],
[0, 1, 0]]

我还假设您想要从元素为 0 的所有索引对中均匀绘制一对随机索引。如果选择元素,则每次都是 0。你可以这样做:

import random
A = # your matrix
# generate the pairs
zero_indexes = [(i, j)
# for each index along each axis
for i in range(len(A)) 
for j in range(len(A[i]))
# keep the pair if it's element is 0
if A[i][j] == 0]
# make a random pick from your pairs
random_zero = random.choice(zero_indexes)
print(random_zero)

更新:您提到想要将这个随机选择的 0 与另一个值交换,这可以通过我的方法完成(这可以添加到上面块的末尾(:

i, j = random_zero
A[i][j] = # your new value

最新更新