坚持是一种品质 2019-12-15
matrix = [[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]
‘‘‘ zip() 函数用于将可迭代的对象作为参数,
将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。
如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,
利用* 号操作符,可以将元组解压为列表。
‘‘‘
def printMatrix(matrix):
if matrix:
top_row = list(matrix[0])
array = list(zip(*matrix[1:]))
#<class ‘list‘>: [(4, 7), (5, 8), (6, 9)]
array.reverse()
#将剩下的值逆时针旋转,然后递归
#<class ‘list‘>: [(6, 9), (5, 8), (4, 7)]
return top_row + printMatrix(array)
else:
return [] # 保证递归的结束
print(printMatrix(matrix)) 什么是数组数组是一种线性表数据结构,它用一组连续的内存空间来存储一组具有相同类型的数据。典型的线性表有数组、链表、队列和栈。直接将第 k 位的数据搬移到数组元素最后,然后把新的元素直接放在第 k 位。