剑指offer-顺时针打印矩阵-数组-python
题目描述
输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.
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))
相关推荐
Datawhale 2019-05-18
huavhuahua 2020-11-05
Tristahong 2020-10-14
Winterto0 2020-06-26
feishicheng 2020-06-09
laohyx 2020-05-07
举 2020-05-06
cenylon 2020-04-22
sschencn 2020-04-21
yawei 2020-02-26
chaigang 2020-02-25
小方哥哥 2020-01-12
千锋 2019-12-28
fgleeldq 2020-01-01
wklken的笔记 2019-12-03
LczPtr 2019-11-19
duanlove技术路途 2019-11-09
苏牧蕾的极客空间 2019-11-04