首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

python工厂第20层 多重列表2

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)

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20201217A0904100?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券