1
将一个n行m列的矩阵(二重列表)行列互换,存储到另一个m行n列的矩阵中。输出对应的列表
输入格式
第一行输入n和m
第2到n+1行 为m个整数并且用空格隔开
输出格式
对应的列表
示例1
输入:
2 3
1 2 3
4 5 6
输出:
[[1, 4], [2, 5], [3, 6]]
解析:输入的第一行2和3表示下面会输入2行,每行有3个数字。此处第一行是1 2 3,第二行是4 5 6.
输出时是将第一行和第二行的第一个数字放在一个列表中,第一行和第二行的第二个数字放在一个列表中,以此类推。
首先将行数和列数存入变量
l=list(map(int,input().split()))
n,m=l[0],l[1]
新建空的列表a,按第一行,第二行的顺序放入初始的列表
a=[]
for i in range(n):
t=list(map(int,input().split()))
a.append(t)
此时列表a中是[[1,2,3],[4,5,6]],接下来我们想将a[0][0]和a[1][0],放在一起,a[0][1]和a[1][1]放在一起……,我们新建列表b,利用for循环,在列表中添加空列表,再把需要的数字放进去
b=[]
for i in range(m):
b.append([])
for j in range(n):
b[i].append(a[j][i])
最后输出列表b
2
打印杨辉三角前n行,在杨辉三角中每个数字是它左方的数字和右方的数字和。打印对应的列表。
输入格式
输入整数n
输出格式
输出n行列表每一行表示当前的层数
示例1
输入:
5
输出:
[1]
[1, 1]
[1, 2, 1]
[1, 3, 3, 1]
[1, 4, 6, 4, 1]
解析:我们把每一行的列表写入一个多重列表中,形成[[1],[1,1],[1,2,1],[1,3,3,1][1,4,6,4,1]]的形式,然后输出它们即可。
第一行是单独的1,
第二行可看成第一个1是0+1,第二个1是1+0.
第三行第一个1是0+1,第二个2是1+1,第三个1是1+0.
第四行第一个1是0+1,第二个3是1+2,第三个3是2+1,第四个1是1+0……
n = int(input())
a = [[1]]
for i in range(1,n):
a.append([])
for j in range(i+1):
if j==0:
x = 0
else:
x = a[i-1][j-1]
if j>i-1:
y = 0
else:
y = a[i-1][j]
a[i].append(x+y)
for i in range(n):
print(a[i])
3
在python中列表可以存放,各种各样的数据类型,当然也是可以存放列表的。我们称这样的列表为多重列表,如图所示:
那么你能读入一些数据讲他们转换为多重列表吗?每一行为一个列表,将他们组合为一个列表,并且输出。
输入格式
输入数据有n行
第一行为整数n
第二到n+1行 为用单个空格隔开的整数
输出格式
一个多重列表
示例1
输入:
3
1 2 3
4 5 6
7 8 9
输出:
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
解析:将列表数据加入到另一个列表中可以使用append( )。
首先获取列表的数量,并新建一个列表
n=int(input())
t=[]
循环n次,将列表增加到空列表中去
for i in range(n):
l=list(map(int,input().split()))
t.append(l)
最后输出大列表
print(t)
领取专属 10元无门槛券
私享最新 技术干货