def initMatrix(dimx, dimy):
"""构建二维数组"""
matrix = [['0' for y in range(dimy)] for x in range(dimx)]
for x in range(dimx):
for y in range(dimy):
matrix[x][y] = '{}{}'.format(x, y)
return matrix
def printMatrix(ma):
for i in range(len(ma)):
print(ma[i])
mBaocai = initMatrix(6, 6)
startX = 0
lastX = len(mBaocai) - 1
startY = 0
lastY = len(mBaocai[0]) - 1
printMatrix(mBaocai)
"""
不用另外开辟额外的空间存储
"""
while startX <= lastX and startY <= lastY:
for i in range(lastY - startY + 1):
print(mBaocai[startX][startY + i], end=" ")
startX += 1
for j in range(lastX - startX + 1):
print(mBaocai[startX + j][lastY], end=" ")
lastY -= 1
for k in range(lastY - startY + 1):
print(mBaocai[lastX][lastY - k], end=" ")
lastX -= 1
for m in range(lastX - startX + 1):
print(mBaocai[lastX - m][startY], end=" ")
startY += 1
# def boBaocai(newList, ma, startX, startY, lastX, lastY):
# """newList可以是任意类型,看传入的是什么类型"""
# tempList = []
# for i in range(lastY - startY + 1):
# tempList.append(ma[startX][startY + i])
# startX += 1
#
# for j in range(lastX - startX + 1):
# tempList.append(ma[startX + j][lastY])
# lastY -= 1
#
# for k in range(lastY - startY + 1):
# tempList.append(ma[lastX][lastY - k])
# lastX -= 1
#
# for m in range(lastX - startX + 1):
# tempList.append(ma[lastX - m][startY])
# startY += 1
#
# newList.extend(tempList)
#
# while len(newList) < len(ma) * len(ma[0]):
# boBaocai(newList, ma, startX, startY, lastX, lastY)
#
# return newList
#
#
# mBaocai = initMatrix(6, 6)
# print("---------print initMatrix------------")
# printMatrix(mBaocai)
# kickout = []
# boBaocai(kickout, mBaocai, 0, 0, len(mBaocai) - 1, len(mBaocai[0]) - 1)
# print("----------after operate--------------")
# print(kickout)