描述:依次输出矩阵中最近邻的元素

例如:输入:

[[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=0

def sround1(distance,m,n,wend,hend):
    e[m*3+n][0]=a[m][n]
    k=1
    for 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)

更多相关文章

  1. 字体图标的引入和通过媒体查询改变导航样式
  2. HTML样式和常用选择器
  3. 字体图标的引用和自定义样式/媒体查询的使用
  4. 数据库的CURD操作、PDO本质与原理的学习
  5. CSS之伪类选择器和简单盒子简单案例
  6. 伪类选择器与盒模型常用属性
  7. 伪类选择器-结构伪类、根据位置选择匹配
  8. 7.4——常用标签与应用场景之表格与单元格
  9. css伪类选择器和盒模型

随机推荐

  1. 【博客园客户端】博客园Android客户端更
  2. Android UI主线程与子线程
  3. Android屏幕适配攻略
  4. 如果你现在学Android---学习使用Kotlin进
  5. 修改Android Studio下的AVD的下载路径
  6. Android声音管理方法
  7. 从创建flutter到打包成aar,并运行,这之间踩
  8. EditText 焦点控制,进入界面时不弹出键盘
  9. 进入android项目组的第一天
  10. Android SDK Manager国内无法更新的解决