Python编程练习:二维数组逆序输出

给定一个m行n列整型矩阵A,编写一个函数swapt,使得它对A的元素进行交换,具体如下:
第一个元素和倒数第一个元素交换,第二个元素和倒数第二个元素交换...在具体实现时不允许另设矩阵
00 01 02 03            23 22 21 20
10 11 12 13   ==>  13 12 11 10
20 21 22 23            03 02 01 00

思路:

用python中的列表模拟数组,列表中的元素个数等于二维数组的行

列表中的每个元素是一个列表,其中元素的个数等于二维数组的列

先把第一行和最后一行交换,第二行和倒数第二行交换...再把每一行中的第一列和最后一列交换,第二列和倒数第二列交换

用C语言编程实现时,需要区分二维数组的行是奇数还是偶数;用python时则不需要考虑,在python中一行元素作为列表可以当作一个整体进行操作

def swapt(arrays):
    row=len(arrays)#行
    col=len(arrays[0])#列

    
    for i in range(row):
        if i<(row//2):#整除
            temp=arrays[i]
            arrays[i]=arrays[row-i-1]
            arrays[row-i-1]=temp
        for j in range(col//2):
            temp=arrays[i][j]
            arrays[i][j]=arrays[i][col-1-j]
            arrays[i][col-1-j]=temp
 

if __name__=='__main__':
    xxs=[
            ['00','01','02','03','04'],
            ['10','11','12','13','14'],
            ['20','21','22','23','24'],
            ]
    #调用交换函数
    swapt(xxs)
    #输出
    for xx in xxs:
        print(xx)

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值