【基础入门题072】转置矩阵
【基础入门题】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】转置矩阵相关推荐
- 【基础入门题031】三色球问题
[基础入门题]2021.11.27 口袋中共有12个球,红白黑的个数分别3.3.6, 从中任取8个,问共有多少种可能的颜色搭配? 编程语言:包括但不限于Python 题目来源:派森特给站每日刷题频道 ...
- 【基础入门题013】求连续根号的值
[基础入门题]2021.11.09 (编程语言不限)F(n)=√[1+√[2+√[3+-+√[n-1+√[n]]]]], 编程求F(50), F(100), F(3000)的值(方括号表示数字在对应根 ...
- 【基础入门题026】佩尔数列Pell(n)
[基础入门题]2021.11.22 佩尔数列是一个扩展版的斐波那契数列,它的第一项为0,第二项为1,第三项是第二项的二倍加上第一项 :第四项是第三项的二倍加上第二项,以此类推. Pell(n) = 0 ...
- 【基础入门题022】一元钱换成分币
[基础入门题]2021.11.18 1分钱.2分钱.5分钱组成1元钱的所有组合,每种分币至少一个且总币数为30. 编程语言:包括但不限于Python 题目来源:派森特给站每日刷题频道 -------- ...
- 【基础入门题006】求身份证校验位是否正确
[基础入门题]2021.11.02 关于身份证校验位: 1.将前面的身份证号码前17位数分别乘以不同的系数(第1~17位的系数分别为:7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 ...
- 【基础入门题030】《孙子算经》之鸡兔同笼
[基础入门题]2021.11.26 <孙子算经>今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何? 编程语言:包括但不限于Python 题目来源:派森特给站每日刷题频道 ------ ...
- 【基础入门题024】猴子吃桃问题
[基础入门题]2021.11.20 猴子第一天摘了若干个桃子,当即吃了一半,还不解馋,又多吃了一个:第二天,吃剩下的桃子的一半,还不过瘾,又多吃了一个:以后每天都吃前一天剩下的一半多一个,到第10天想 ...
- 【基础入门题055】埃及分数
[基础入门题]2021.12.21 埃及分数:分子是1的分数,也叫单位分数.古代埃及人在进行分数运算时,只使用分子是1的分数.如:8/11=1/2+1/5+1/55+1/110. 真分数:分子比分母小 ...
- 【基础入门题010】互质勾股数组
[基础入门题]2021.11.06 求斜边长小于100的勾股数组,且三边两两互质(即两数的公质数只有1). 方法一: def prime(a,b):n = min(a,b)for i in range ...
最新文章
- Ext.app.controller的refs
- html给图片做绝对定位,有关绝对定位的全面理解
- 【Unity/Kinect】获取预制的手势信息KinectInterop.HandState
- Auto.js 抖音--留痕--参数分析
- 玩游戏计算机缺失msvcp140,玩英雄联盟提示电脑缺少msvcp140.dll怎么办
- 本周最热 AI 论文大集合,还不快一键收藏?
- 转我们经理的一篇文章,业务流程实现的讨论,希望大家集思广议。
- MS UC 2013-0-虚拟机-标准化-部署-1-虚拟化-部署
- Linux安装Swift开发环境
- 堪比黑石 花旗、摩根大通的股东 揭开贝莱德的神秘面纱
- Spring Security配置放行请求,将参数放置于请求体时放行失效
- c语言航空订票系统程序设计,C语言航空订票系统
- (13) IFC格式说明 (Industry Foundation Class)
- 云烟阁--Java8系列之函数式接口和Lambda表达式(一)
- Debug No5基础光照
- 安卓 体验linux mux,Linux下TI omap芯片 MUX 配置分析(以AM335X芯片为例)
- 一套好用的MES系统,到底要具备哪些特质?
- 创新型中小企业如何认定?
- linux 微秒级定时,Linux下的微秒级定时器: usleep, nanosleep, select, pselect
- Linux系统配置VLAN