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)
发布了78 篇原创文章 · 获赞 31 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_37209590/article/details/105016701