Python定义计算矩阵转置的函数
2023-06-13 09:11:50 时间
大家好,又见面了,我是你们的朋友全栈君。
定义计算矩阵转置的函数
1)使用循环进行转置
matrix = [[1, 2, 3, 4],[5, 6, 7, 8],[9, 10, 11, 12]]
# 打印矩阵
def printMatrix(m):
for ele in m:
for e in ele:
print('%3d' % e, end='')
print('')
# 转置矩阵
def transformMatrix(m):
rt = [[] for i in m[0]] # m[0] 有几个元素,说明原矩阵有多少列。此处创建转置矩阵的行
for ele in m:
for i in range(len(ele)):
# rt[i] 代表新矩阵的第 i 行
# ele[i] 代表原矩阵当前行的第 i 列
rt[i].append(ele[i])
return rt
printmatrix(matrix)
print('-'*40)
printmatrix(transformMatrix(matrix))
1 2 3 4
5 6 7 8
9 10 11 12
----------------------------------------
1 5 9
2 6 10
3 7 11
4 8 12
2)使用zip()函数转置
说明:zip 函数合并多个序列:多个序列的第一个元素合并成第一个元素,多个序列第二个元素合并成第二个序列…
分析:将原矩阵做逆向参数收集
def transformMatrix(m):
# 逆向参数收集,将矩阵中多个列表转换成多个参数,传给 zip
return list(zip(*m))
printmatrix(matrix)
print('-'*40)
printmatrix(transformMatrix(matrix))
1 2 3 4
5 6 7 8
9 10 11 12
----------------------------------------
1 5 9
2 6 10
3 7 11
4 8 12
3)使用numpy模块转置
说明:
- numpy 模块提供了 transpose() 函数执行转置,该函数的返回值是 numpy 的内置类型:array
- 调用 array 的 tolist() 方法可将 array 转换为 list 列表
import numpy
def transformMatrix(m):
return numpy.transpose(m).tolist()
printmatrix(matrix)
print('-'*40)
printmatrix(transformMatrix(matrix))
1 2 3 4
5 6 7 8
9 10 11 12
----------------------------------------
1 5 9
2 6 10
3 7 11
4 8 12
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/141852.html原文链接:https://javaforall.cn
相关文章
- python 基尼系数_Python计算
- python中pygame怎么安_Python中pygame安装方法图文详解
- python break和continue
- Python入门系列(六)一篇学会python函数
- Python入门系列(十一)一篇搞定python操作MySQL数据库
- python解决约瑟夫环问题(容易理解版)「建议收藏」
- python中sqrt函数用法_Python : sqrt() 函数
- python中替换字符串中字符_Python replace()函数:替换字符串中的某个字符「建议收藏」
- Python – 画五角星
- Python元组_python输出元组
- python chr()和ord()_Python函数ord
- 【说站】python正则表达式中区间的介绍
- python计算基尼系数_PHP算法
- python中多个if语句用法_python中if函数多个条件怎么用
- Python计算余数和商及计数变量
- python mmap_python mmap对象[通俗易懂]
- Python 计算与伪造TCP序列号
- Python 实现SynFlood洪水攻击
- 使用Python发送邮件
- Python基础语法-运算符
- Python学习:6.python内置函数详解编程语言
- python面试十题详解编程语言
- MySQL与Python搭配,实现数据库操作。(mysql-python)
- 用Python仿写MSSQL 编程体验更有趣(python仿mssql)
- 使用Python快速轻松构建Redis客户端(简单实现redis客户端)
- python计算最大优先级队列实例
- Python实现基于HTTP文件传输实例
- python的迭代器与生成器实例详解