二维矩阵翻转

# 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 二维矩阵翻转相关推荐

  1. python 二维矩阵及转byte知识点

    1.注意python中的数组和list形式混合: 数组在numpy里面: 2.二维数组这样定义可以修改固定位置的值: rawDataArray_temp = [([0]*nIRImageWidth)f ...

  2. python 将三维数据转为二维_python 二维矩阵转三维矩阵示例

    如下所示: >>> import numpy as np >>> a = np.arange(12).reshape(3,4) >>> a arr ...

  3. python给矩阵赋值_解决Python二维数组赋值问题

    解决Python二维数组赋值问题 当我们采用s=[[0]*3]*2初始化一个数组,然后对s[0][0]进行赋值,改变的是第一列所有的值.因为用s = [[0]*3]*2 初始化数组,他表示的是指向这个 ...

  4. 【CV】图像卷积计算即二维矩阵卷积(Python)

    卷积与数字图像 什么是卷积 一维线性卷积 参数'full' 参数'same' 参数'valid' 二维线性卷积 什么是卷积 一维线性卷积 线性卷积(linear convolution) 在时域描述线 ...

  5. 【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] ...

  6. python画二维矩阵图_Python实现二维数组输出为图片

    Python实现二维数组输出为图片 对于二维数组,img_mask [[ 0 0 0 ..., 7 7 7] [ 0 0 0 ..., 7 7 7] [ 0 0 0 ..., 7 7 7] ..., ...

  7. python 搜索二维矩阵

    搜索二维矩阵 编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值.该矩阵具有如下特性: 每行中的整数从左到右按升序排列. 每行的第一个整数大于前一行的最后一个整数. 示例 1: 输入:m ...

  8. python三维矩阵乘法_tensorflow 二维矩阵乘以三维矩阵,高维矩阵相乘

    最近看论文时看到了一个让我费解的操作. 二维矩阵 * 三维矩阵 * 二维矩阵 得到了一个二维矩阵. 即: (n * c1) x (m * c1 * c2) x (n * c2) 得 n * m 实现主 ...

  9. Python每日一练(20230307) 重复DNA序列、搜索二维矩阵、买卖股票的最佳时机IV

    目录 1. 重复的DNA序列  ★★ 2. 搜索二维矩阵  ★★ 3. 买卖股票的最佳时机 IV  ★★★

最新文章

  1. ABAP模块P类型详细解释
  2. spring boot原理_SpringBoot-02-原理初探之主启动类
  3. 前端:JS获取浏览器类型类库
  4. 电脑温度检测软件哪个好_实时检测Mac电脑的温度
  5. bytevalue_Java Number byteValue()方法与示例
  6. 港中文开源基于PyTorch的多任务人脸识别框架
  7. base64 pdf解码无法打开_微信小程序使用echarts导出PDF
  8. matlab画圆的命令_matlab画圆
  9. 移动硬盘做笔记本硬盘
  10. Python学习之文件13
  11. 什么样的人适合当程序员?挺有意思的一篇文章
  12. Python-爬虫 (BS4数据解析)
  13. Knockout JS 示例
  14. 远程访问MySql数据库
  15. Zabbix图形显示中乱码解决(拓展)
  16. 【JS】正则表达式。以vue词法分析、句法分析为例
  17. MarkDown数学符号之--微分
  18. C语言三大经典名著+微软四大名著
  19. 【支付架构】银联额度映射
  20. 玩转Vue3全家桶开篇词丨如何借助Vue3建构你的前端知识体系?

热门文章

  1. Leetcode 217. 存在重复元素 (每日一题 20210913)
  2. NLP-基础知识-003(词性标注)
  3. 深度学习~图神经网络GNN
  4. R语言问题剖析20篇(一)-R语言泛函式编程purrr实现优雅循环迭代
  5. 听说你想去大厂看妹子,带你看看阿里软件测试岗四轮面试是怎么样的?
  6. Flink从入门到精通100篇(十四)-Flink开发IDEA环境搭建与测试
  7. Python实战系列之调用小黄鸡simsimi
  8. Python编程基础:第五十三节 匿名函数Lambda Function
  9. The number of object passed must be even but was [1]
  10. Scrapy Architecture overview--官方文档