python 实现矩阵填充0的例子


Posted in Python onNovember 29, 2019

需求:

原矩阵

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

在原矩阵元素之间填充元素 0,得到

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

思路:

先求出扩充矩阵的维度,再按照每一行每一列遍历,根据元素的索引规律依次赋值,最终实现新的扩充矩阵。这个思路实现如下:

import numpy as np

def PadMat(Ndim, Mat):
 Brow = Bcol = 2*Ndim-1
 B = np.zeros([Brow, Bcol])
 for row in range(Brow):
 if row%2 == 0:
 for col in range(Bcol):
 if col%2 == 0:
 pos_c = int(col/2)
 pos_r = int(row/2)
 # print(row, col)
 B[row, col] = Mat[pos_r, pos_c]
 else:
 B[row, col] = 0
 return B


# A = np.arange(9) + 1
# A = A.reshape([3, 3])
A = np.arange(16) + 1
A = A.reshape([4, 4])
# print(A.shape[0])
N = Arow = Acol = A.shape[0]

NewMat = PadMat(Ndim=N, Mat=A)
print(A)
print(NewMat)

总结:

这个思路很直接,但是循环套循环是一个很笨的办法,而且遍历也很慢。不知道网友有什么好的思路吗?

以上这篇python 实现矩阵填充0的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python使用fileinput模块实现逐行读取文件的方法
Apr 29 Python
Python实现简单登录验证
Apr 13 Python
Python算法之图的遍历
Nov 16 Python
Python排序搜索基本算法之希尔排序实例分析
Dec 09 Python
下载python中Crypto库报错:ModuleNotFoundError: No module named ‘Crypto’的解决
Apr 23 Python
基于pandas将类别属性转化为数值属性的方法
Jul 25 Python
pyqt5 从本地选择图片 并显示在label上的实例
Jun 13 Python
微信小程序python用户认证的实现
Jul 29 Python
为什么说python适合写爬虫
Jun 11 Python
python如何进入交互模式
Jul 06 Python
python生成可执行exe控制Microsip自动填写号码并拨打功能
Jun 21 Python
7个关于Python的经典基础案例
Nov 07 Python
python循环嵌套的多种使用方法解析
Nov 29 #Python
python写一个随机点名软件的实例
Nov 28 #Python
关于Python-faker的函数效果一览
Nov 28 #Python
python 监测内存和cpu的使用率实例
Nov 28 #Python
python随机生成库faker库api实例详解
Nov 28 #Python
python的faker库用法
Nov 28 #Python
关于python中plt.hist参数的使用详解
Nov 28 #Python
You might like
咖啡的植物学知识
2021/03/03 咖啡文化
PHP5 安装方法
2007/01/15 PHP
php中实现记住密码自动登录的代码
2011/03/02 PHP
php实现简单的语法高亮函数实例分析
2015/04/27 PHP
PHP实现的oracle分页函数实例
2016/01/25 PHP
capacityFixed 基于jquery的类似于新浪微博新消息提示的定位框
2011/05/24 Javascript
js获取某月的最后一天日期的简单实例
2013/06/22 Javascript
javascript的回调函数应用示例
2014/02/20 Javascript
JQuery动画animate的stop方法使用详解
2014/05/09 Javascript
火狐下input焦点无法重复获取问题的解决方法
2014/06/16 Javascript
Jquery数字上下滚动动态切换插件
2015/08/08 Javascript
第二次聊一聊JS require.js模块化工具的基础知识
2016/04/17 Javascript
jQuery 实现ajax传入参数含有特殊字符的方法总结
2016/10/17 Javascript
jQuery EasyUI 获取tabs的实例解析
2016/12/06 Javascript
webpack进阶——缓存与独立打包的用法
2017/08/02 Javascript
通俗解释JavaScript正则表达式快速记忆
2017/08/23 Javascript
使用Vuex实现一个笔记应用的方法
2018/03/13 Javascript
Vue单页及多页应用全局配置404页面实践记录
2018/05/22 Javascript
使用JavaScrip模拟实现仿京东搜索框功能
2019/10/16 Javascript
Vue 的 v-model用法实例
2020/11/23 Vue.js
[00:35]DOTA2上海特级锦标赛 MVP.Phx战队宣传片
2016/03/04 DOTA
python爬虫之BeautifulSoup 使用select方法详解
2017/10/23 Python
使用Python读取二进制文件的实例讲解
2018/07/09 Python
postman模拟访问具有Session的post请求方法
2019/07/15 Python
Python 、Pycharm、Anaconda三者的区别与联系、安装过程及注意事项
2019/10/11 Python
python sklearn包——混淆矩阵、分类报告等自动生成方式
2020/02/28 Python
Python %r和%s区别代码实例解析
2020/04/03 Python
美国知名平价彩妆品牌:e.l.f. Cosmetics
2017/11/20 全球购物
演讲稿开场白
2014/01/13 职场文书
文字自荐书范文
2014/02/10 职场文书
观看《永远的雷锋》心得体会
2014/03/12 职场文书
电气工程自动化求职信
2014/03/14 职场文书
科技之星事迹材料
2014/06/02 职场文书
我的职业生涯规划:打造自己的运动帝国
2014/09/18 职场文书
法定代表人授权委托书
2014/09/19 职场文书
行政司机岗位职责
2015/04/10 职场文书