def generateMatrix(self, n):
A, lo = [], n*n+1
while lo > 1:
lo, hi = lo - len(A), lo
A = [range(lo, hi)] + zip(*A[::-1]) #翻转,前面加一行
return A
py3中需要修改,因为range或zip产生的是生成器,需要转为列表
class Solution:
def generateMatrix(self, n: int) -> List[List[int]]:
res = []
lo = n ** 2 + 1
while lo > 1:
hi, lo = lo, lo - len(res)
#翻转,前面加一行
res = [list(range(lo, hi))] + list(zip(*res[::-1]))
return res