【基础入门题】2022.01.07

转置一个m行n列的矩阵,即把矩阵每一个元素的行列标号互换。

编程语言:包括但不限于Python
题目来源:派森特给站每日刷题频道


方法一:双重循环交接行列

m,n = map(int, input('请输入矩阵的行和列(用空格隔开):').split())Array = [[0 for i in range(m)] for j in range(n)] #初始结果矩阵为0矩阵t = [[i+1+j*n for i in range(n)] for j in range(m)] #转置前的矩阵for i in range(n):for j in range(m):Array[i][j]=t[j][i] #交换行列标号print('转置前:')
for a in t:for b in a:print(str(b).rjust(3), end='')print()
print('转置后:')
for a in Array:for b in a:print(str(b).rjust(3), end='')print()

输出结果:
请输入矩阵的行和列(用空格隔开):4 6
   1   2   3   4   5   6
   7   8   9 10 11 12
 13 14 15 16 17 18
 19 20 21 22 23 24
  1   7 13 19
  2   8 14 20
  3   9 15 21
  4 10 16 22
  5 11 17 23
  6 12 18 24

方法二:行列式

m,n = map(int, input('请输入矩阵的行和列(用空格隔开):').split())t = [[i+1+j*n for i in range(n)] for j in range(m)] #转置前的矩阵Array = [[t[i][j] for i in range(len(t))] for j in range(len(t[0]))] #推导式一行搞定print('转置前:')
for a in t:for b in a:print(str(b).rjust(3), end='')print()
print('转置后:')
for a in Array:for b in a:print(str(b).rjust(3), end='')print()

方法三:内置函数zip()

m,n = map(int, input('请输入矩阵的行和列(用空格隔开):').split())t = [[i+1+j*n for i in range(n)] for j in range(m)] #转置前的矩阵Array = [list(_) for _ in zip(*t)] #zip()超级简单print('转置前:')
for a in t:for b in a:print(str(b).rjust(3), end='')print()
print('转置后:')
for a in Array:for b in a:print(str(b).rjust(3), end='')print()

方法四:numpy库函数

import numpy as npm,n = map(int, input('请输入矩阵的行和列(用空格隔开):').split())t = np.arange(1,m*n+1) #或:t = np.array([*range(1,m*n+1)])
t = t.reshape(m,n) #一维数组reshape成二维数组
Array = t.T #一个.T就能转置,或者使用:Array = np.transpose(t)print('转置前:')
print(t)t = [list(_) for _ in t] #转内置列表格式
print('转置前标准格式:')
for a in t:for b in a:print(str(b).rjust(3), end='')print()print('转置后:')
print(Array)Array = [list(_) for _ in Array]
print('转置后标准格式:')
for a in Array:for b in a:print(str(b).rjust(3), end='')print()

【基础入门题072】转置矩阵相关推荐

  1. 【基础入门题031】三色球问题

    [基础入门题]2021.11.27 口袋中共有12个球,红白黑的个数分别3.3.6, 从中任取8个,问共有多少种可能的颜色搭配? 编程语言:包括但不限于Python 题目来源:派森特给站每日刷题频道 ...

  2. 【基础入门题013】求连续根号的值

    [基础入门题]2021.11.09 (编程语言不限)F(n)=√[1+√[2+√[3+-+√[n-1+√[n]]]]], 编程求F(50), F(100), F(3000)的值(方括号表示数字在对应根 ...

  3. 【基础入门题026】佩尔数列Pell(n)

    [基础入门题]2021.11.22 佩尔数列是一个扩展版的斐波那契数列,它的第一项为0,第二项为1,第三项是第二项的二倍加上第一项 :第四项是第三项的二倍加上第二项,以此类推. Pell(n) = 0 ...

  4. 【基础入门题022】一元钱换成分币

    [基础入门题]2021.11.18 1分钱.2分钱.5分钱组成1元钱的所有组合,每种分币至少一个且总币数为30. 编程语言:包括但不限于Python 题目来源:派森特给站每日刷题频道 -------- ...

  5. 【基础入门题006】求身份证校验位是否正确

    [基础入门题]2021.11.02 关于身份证校验位: 1.将前面的身份证号码前17位数分别乘以不同的系数(第1~17位的系数分别为:7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 ...

  6. 【基础入门题030】《孙子算经》之鸡兔同笼

    [基础入门题]2021.11.26 <孙子算经>今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何? 编程语言:包括但不限于Python 题目来源:派森特给站每日刷题频道 ------ ...

  7. 【基础入门题024】猴子吃桃问题

    [基础入门题]2021.11.20 猴子第一天摘了若干个桃子,当即吃了一半,还不解馋,又多吃了一个:第二天,吃剩下的桃子的一半,还不过瘾,又多吃了一个:以后每天都吃前一天剩下的一半多一个,到第10天想 ...

  8. 【基础入门题055】埃及分数

    [基础入门题]2021.12.21 埃及分数:分子是1的分数,也叫单位分数.古代埃及人在进行分数运算时,只使用分子是1的分数.如:8/11=1/2+1/5+1/55+1/110. 真分数:分子比分母小 ...

  9. 【基础入门题010】互质勾股数组

    [基础入门题]2021.11.06 求斜边长小于100的勾股数组,且三边两两互质(即两数的公质数只有1). 方法一: def prime(a,b):n = min(a,b)for i in range ...

最新文章

  1. Ext.app.controller的refs
  2. html给图片做绝对定位,有关绝对定位的全面理解
  3. 【Unity/Kinect】获取预制的手势信息KinectInterop.HandState
  4. Auto.js 抖音--留痕--参数分析
  5. 玩游戏计算机缺失msvcp140,玩英雄联盟提示电脑缺少msvcp140.dll怎么办
  6. 本周最热 AI 论文大集合,还不快一键收藏?
  7. 转我们经理的一篇文章,业务流程实现的讨论,希望大家集思广议。
  8. MS UC 2013-0-虚拟机-标准化-部署-1-虚拟化-部署
  9. Linux安装Swift开发环境
  10. 堪比黑石 花旗、摩根大通的股东 揭开贝莱德的神秘面纱
  11. Spring Security配置放行请求,将参数放置于请求体时放行失效
  12. c语言航空订票系统程序设计,C语言航空订票系统
  13. (13) IFC格式说明 (Industry Foundation Class)
  14. 云烟阁--Java8系列之函数式接口和Lambda表达式(一)
  15. Debug No5基础光照
  16. 安卓 体验linux mux,Linux下TI omap芯片 MUX 配置分析(以AM335X芯片为例)
  17. 一套好用的MES系统,到底要具备哪些特质?
  18. 创新型中小企业如何认定?
  19. linux 微秒级定时,Linux下的微秒级定时器: usleep, nanosleep, select, pselect
  20. Linux系统配置VLAN

热门文章

  1. 网络:应用层相关协议
  2. 【章节总结】化学——化学反应与能量
  3. 存储器PCB布线技巧
  4. YOLOv2—passthrough层
  5. 恢复出厂设置 LED灯闪烁
  6. 秒杀分部积分,提高计算幸福感——表格积分法
  7. matlab 1向量组,matlab-线性代数 rank 向量组的秩
  8. 服装检索相关论文阅读
  9. C++小知识——VS2013 MFC基于对话框编程
  10. 王子救公主(DFS)