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

2024-04-26 00:42:20 发布

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

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

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


Tags: 功能编辑矩阵整数原点混合体
2条回答

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

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

相关问题 更多 >