python 二维矩阵翻转
二维矩阵翻转
# N * N的二维矩阵
# 沿上下中线翻转
# 沿左右中线翻转
# 沿-45度对角线翻转
# 沿45度对角线翻转matrix3 = [[1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12, 13, 14, 15], [16, 17, 18, 19, 20], [21, 22, 23, 24, 25]]
matrix1 = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
matrix2 = [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16]
]# 沿上下,中线翻转
def sx_zh(matrix):length = len(matrix)for j in range(length):for i in range(length//2):# 根据坐标点找规律并交换位置matrix[j][i], matrix[j][length-i-1] = matrix[j][length-i-1], matrix[j][i] return matrix# 沿左右,中线翻转
def zy_zh(matrix):length = len(matrix)for j in range(length//2):for i in range(length):# 根据坐标点找规律并交换位置matrix[j][i], matrix[length-j-1][i] = matrix[length-j-1][i], matrix[j][i]return matrix# 沿45度对角线翻转
def dui_45_xian(matrix):length = len(matrix)n = length - 1m = nfor j in range(n):for i in range(m):# 根据坐标点找规律并交换位置matrix[j][i], matrix[n-i][n-j] = matrix[n-i][n-j], matrix[j][i]m -= 1return matrix# 沿-45度对角线翻转
def fu_dui_45_xian(matrix):n = len(matrix)m = 1for j in range(n):for i in range(m, n):# 根据坐标点找规律并交换位置matrix[i][j], matrix[j][i] = matrix[j][i], matrix[i][j]m += 1return matrixif __name__ == '__main__':print("sx_zh: matrix1", sx_zh(matrix1))print("sx_zh: matrix2", sx_zh(matrix2))print("sx_zh: matrix3", sx_zh(matrix3))print("zy_zh: matrix1", zy_zh(matrix1))print("zy_zh: matrix2", zy_zh(matrix2))print("zy_zh: matrix3", zy_zh(matrix3))print("dui_45_xian: matrix1", dui_45_xian(matrix1))print("dui_45_xian: matrix2", dui_45_xian(matrix2))print("dui_45_xian: matrix3", dui_45_xian(matrix3))print("fu_dui_45_xian: matrix1", fu_dui_45_xian(matrix1))print("fu_dui_45_xian: matrix2", fu_dui_45_xian(matrix2))print("fu_dui_45_xian: matrix3", fu_dui_45_xian(matrix3))
result:
sx_zh: matrix1 [[3, 2, 1], [6, 5, 4], [9, 8, 7]]
sx_zh: matrix2 [[4, 3, 2, 1], [8, 7, 6, 5], [12, 11, 10, 9], [16, 15, 14, 13]]
sx_zh: matrix3 [[5, 4, 3, 2, 1], [10, 9, 8, 7, 6], [15, 14, 13, 12, 11], [20, 19, 18, 17, 16], [25, 24, 23, 22, 21]]
zy_zh: matrix1 [[9, 8, 7], [6, 5, 4], [3, 2, 1]]
zy_zh: matrix2 [[16, 15, 14, 13], [12, 11, 10, 9], [8, 7, 6, 5], [4, 3, 2, 1]]
zy_zh: matrix3 [[25, 24, 23, 22, 21], [20, 19, 18, 17, 16], [15, 14, 13, 12, 11], [10, 9, 8, 7, 6], [5, 4, 3, 2, 1]]
dui_45_xian: matrix1 [[1, 4, 7], [2, 5, 8], [3, 6, 9]]
dui_45_xian: matrix2 [[1, 5, 9, 13], [2, 6, 10, 14], [3, 7, 11, 15], [4, 8, 12, 16]]
dui_45_xian: matrix3 [[1, 6, 11, 16, 21], [2, 7, 12, 17, 22], [3, 8, 13, 18, 23], [4, 9, 14, 19, 24], [5, 10, 15, 20, 25]]
fu_dui_45_xian: matrix1 [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
fu_dui_45_xian: matrix2 [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16]]
fu_dui_45_xian: matrix3 [[1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12, 13, 14, 15], [16, 17, 18, 19, 20], [21, 22, 23, 24, 25]]
python 二维矩阵翻转相关推荐
- python 二维矩阵及转byte知识点
1.注意python中的数组和list形式混合: 数组在numpy里面: 2.二维数组这样定义可以修改固定位置的值: rawDataArray_temp = [([0]*nIRImageWidth)f ...
- python 将三维数据转为二维_python 二维矩阵转三维矩阵示例
如下所示: >>> import numpy as np >>> a = np.arange(12).reshape(3,4) >>> a arr ...
- python给矩阵赋值_解决Python二维数组赋值问题
解决Python二维数组赋值问题 当我们采用s=[[0]*3]*2初始化一个数组,然后对s[0][0]进行赋值,改变的是第一列所有的值.因为用s = [[0]*3]*2 初始化数组,他表示的是指向这个 ...
- 【CV】图像卷积计算即二维矩阵卷积(Python)
卷积与数字图像 什么是卷积 一维线性卷积 参数'full' 参数'same' 参数'valid' 二维线性卷积 什么是卷积 一维线性卷积 线性卷积(linear convolution) 在时域描述线 ...
- 【python】详解使用numpy模块来拼接矩阵,二维矩阵和三维矩阵
首先,使用下面的代码,创建3个2×2的矩阵A.B.C. import numpy as np A = [[1, 2], [3, 4]] B = [[5, 6], [7, 8]] C = [[9, 9] ...
- python画二维矩阵图_Python实现二维数组输出为图片
Python实现二维数组输出为图片 对于二维数组,img_mask [[ 0 0 0 ..., 7 7 7] [ 0 0 0 ..., 7 7 7] [ 0 0 0 ..., 7 7 7] ..., ...
- python 搜索二维矩阵
搜索二维矩阵 编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值.该矩阵具有如下特性: 每行中的整数从左到右按升序排列. 每行的第一个整数大于前一行的最后一个整数. 示例 1: 输入:m ...
- python三维矩阵乘法_tensorflow 二维矩阵乘以三维矩阵,高维矩阵相乘
最近看论文时看到了一个让我费解的操作. 二维矩阵 * 三维矩阵 * 二维矩阵 得到了一个二维矩阵. 即: (n * c1) x (m * c1 * c2) x (n * c2) 得 n * m 实现主 ...
- Python每日一练(20230307) 重复DNA序列、搜索二维矩阵、买卖股票的最佳时机IV
目录 1. 重复的DNA序列 ★★ 2. 搜索二维矩阵 ★★ 3. 买卖股票的最佳时机 IV ★★★
最新文章
- ABAP模块P类型详细解释
- spring boot原理_SpringBoot-02-原理初探之主启动类
- 前端:JS获取浏览器类型类库
- 电脑温度检测软件哪个好_实时检测Mac电脑的温度
- bytevalue_Java Number byteValue()方法与示例
- 港中文开源基于PyTorch的多任务人脸识别框架
- base64 pdf解码无法打开_微信小程序使用echarts导出PDF
- matlab画圆的命令_matlab画圆
- 移动硬盘做笔记本硬盘
- Python学习之文件13
- 什么样的人适合当程序员?挺有意思的一篇文章
- Python-爬虫 (BS4数据解析)
- Knockout JS 示例
- 远程访问MySql数据库
- Zabbix图形显示中乱码解决(拓展)
- 【JS】正则表达式。以vue词法分析、句法分析为例
- MarkDown数学符号之--微分
- C语言三大经典名著+微软四大名著
- 【支付架构】银联额度映射
- 玩转Vue3全家桶开篇词丨如何借助Vue3建构你的前端知识体系?
热门文章
- Leetcode 217. 存在重复元素 (每日一题 20210913)
- NLP-基础知识-003(词性标注)
- 深度学习~图神经网络GNN
- R语言问题剖析20篇(一)-R语言泛函式编程purrr实现优雅循环迭代
- 听说你想去大厂看妹子,带你看看阿里软件测试岗四轮面试是怎么样的?
- Flink从入门到精通100篇(十四)-Flink开发IDEA环境搭建与测试
- Python实战系列之调用小黄鸡simsimi
- Python编程基础:第五十三节 匿名函数Lambda Function
- The number of object passed must be even but was [1]
- Scrapy Architecture overview--官方文档