先设计思路,以4*4矩阵为例,不难发现其实如果把下列同色的行和列交换,其实就能达到目标
不难发现,实现有如下规律:
i = 0
j = 1,2,3
i = 1
j = 2 ,3
i= 2
j = 3
再将data[i][j] 和data[j][i] 交换即可,而涉及到交换就会想到,有个引入第三个变量来实现交换的方式,于是实现代码如下:
data = [[i for i in range(4)] for i in range(4)] #定义一个4*4的数组 for i in range(len(data)-1): for j in range(len(data[i])): if j > i : tmp = data[i][j] data[i][j] = data[j][i] data[j][i] = tmp
你没看错,这样就已经搞定了,是不是很神奇!如果想实现n*n的 ,修改下代码即可,这里我就不补充了。
时间: 2024-10-10 07:03:18