python二维列表互换行列值

编写python程序 通过Python控制台输入一个大子1的整数n, 然后产生一个二维列表。n*n,依次排列。例如,输入的整效是3,会产生 [1,2,3] [4,5,6] [7,8,9] 产生完列表后,会互换二维列表中的行列元素值。如将上面的二维列表互换行列值的结果如,[1,4,7] [2,5,8] [3,6,9](这里以n=3运行)

方法1:

 n = input("请输入一个大于1的数:")
for i in range(1, int(n) + 1):
    numberi = [x + (i - 1) * int(n) for x in range(1, int(n) + 1)]
    print(numberi)
print()
for h in range(1, int(n) + 1):
    numberh = [h+ int(n)*(x-1)for x in range(1, int(n) + 1)]
    print(numberh)
我的思路是这样

子,先for循环打印[1,2,3] [4,5,6] [7,8,9] 二维表,在用for循环打印[1,4,7] [2,5,8] [3,6,9]2维表,这个方法实际上并没有交换行列值,只是打印出来看上去交换了

运行结果如图

在这里插入图片描述
方法2:行列互换

n = input("请输入一个大于1的数:")
a = []
for i in range(1, int(n) + 1):
    numberi = [x + (i - 1) * int(n) for x in range(1, int(n) + 1)]
    a+=[numberi]
    print(numberi)
print()
for k in range(int(n)):
 print([a[h][k] for h in range(int(n))])

定义了一个序列a,用来保存生成的number序列,a最后结果为
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
然后再来行列互换。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值