Pra*_*rao 1 python arrays matrix python-3.x
我在 Python 中有两个列表
P = [P1, P2 ..... Pn]
, D = [D1, D2 ..... Dn]
.
我想以这样的方式创建一个矩阵,即每个单元格都应包含一个值 from 1
to n
。单元格值在行和列中应该是唯一的,并且每次应该生成不同的组合。
示例输出如下所示n=3
,任意大小P
和D
大小均为 3。
任何人都知道生成这样的矩阵吗?
您可以执行以下操作:
import random
def createMatrix(n):
firstRow = random.sample(range(n),n)
permutes = random.sample(range(n),n)
return list(firstRow[i:]+firstRow[:i] for i in permutes)
N = 5
m = createMatrix(N)
print(m)
Run Code Online (Sandbox Code Playgroud)
对于N=5
给出的情况(转换为numpy
数组进行打印后):
[[4 0 1 2 3]
[1 2 3 4 0]
[3 4 0 1 2]
[0 1 2 3 4]
[2 3 4 0 1]]
Run Code Online (Sandbox Code Playgroud)
如果值从 1 开始,则对函数的校正为:
def createMatrix(n):
firstRow = random.sample(range(1, n + 1),n)
permutes = random.sample(range(1, n + 1),n)
return list(firstRow[i:]+firstRow[:i] for i in permutes)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
746 次 |
最近记录: |