python 按位置關係輸出矩陣元素

2022-07-31 09:45:10 字數 1353 閱讀 6882

描述:依次輸出矩陣中最近鄰的元素

例如:輸入:

[[1, 2, 3]

[4, 5, 6]

[7, 8, 9]]

輸出:[[ 1.  2.  4.  5.  3.  6.  7.  8.  9.]

[ 2.  1.  3.  4.  5.  6.  7.  8.  9.]

[ 3.  2.  5.  6.  1.  4.  7.  8.  9.]

[ 4.  1.  2.  5.  7.  8.  3.  6.  9.]

[ 5.  1.  2.  3.  4.  6.  7.  8.  9.]

思想:採用座標進行判斷,距離中心點一跳的元素座標與中心點的座標的平方差小於2,依次類推

import

numpy as np

#zhaodaozaizhidingfanweineideshuzi

a=np.array([[1,2,3],[4,5,6],[7,8,9]])

b=a[0][0]

c,d=a.shape

e=np.zeros(shape=[c*d,c*d])

#print (d)

k=0def

sround1(distance,m,n,wend,hend):

e[m*3+n][0]=a[m][n]

k=1for d in

range(distance):

for i in

range(wend):

for j in

range(hend):

if np.square(i-m)+np.square(j-n)<=2*np.square(d) and np.square(i-m)+np.square(j-n)>2*np.square(d-1):

e[m*3+n][k]=a[i][j]

k=k+1

print

(e)def

start(c, d):

d=max(c,d)

for i in

range(c):

for j in

range(d):

sround1(d,i,j,c,d)

print

(e)if

__name__=='

__main__':

start(3,3)

[ 6.  2.  3.  5.  8.  9.  1.  4.  7.]

[ 7.  4.  5.  8.  1.  2.  3.  6.  9.]

[ 8.  4.  5.  6.  7.  9.  1.  2.  3.]

[ 9.  5.  6.  8.  1.  2.  3.  4.  7.]]

按規律輸出矩陣 python實現

已知矩形的行和列,請按如下的規律輸出斜對角矩形。例1 輸入 2 2 輸出 1,3 2,4 例2 輸入 1 2 輸出 1,2 例3 輸入 4 3 輸出 1,3,6 2,5,9 4,8,11 7,10,12 題目的意思是想讓我們從左下角往右上角的方向放置資料,因此我們需要先找到這些資料的座標,然後再將這...

python 矩陣輸出

description 輸入n個整數,輸出由這些整數組成的n行矩陣。input 第一行輸入乙個正整數n n 20 表示後面要輸入的整數個數。下面依次輸入n個整數。output 以輸入的整數為基礎,輸出有規律的n行資料。本人剛學python,可能寫的不是很好,目前在刷oj平台的題目,有些題目在網上找不...

Python函式傳參位置關係總結

一般傳參的函式 defprint info name,age print name s name print age s age print info ljj 15 帶有預設值的傳參函式,有預設值的放在後面 defprint info name,age 15 print name s name pr...