前言
Python中对矩阵进行顺时针或者逆时针旋转90度操作
程序
矩阵:
matrix = [[1,2,3],[4,5,6],[7,8,9]]
matrix
结果:
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
顺时针旋转90度:
list(zip(* matrix[::-1]))
[(7, 4, 1), (8, 5, 2), (9, 6, 3)]
逆时针旋转90度
list(zip(* matrix))[::-1]
[(3, 6, 9), (2, 5, 8), (1, 4, 7)]
总结
- zip()函数,对数据进行压缩
l1 = [1,2,3]
l2 = [4,5,6]
zips = zip(l1,l2)
zips
list(zips) # 打包为元组的列表,压缩
结果
[(1, 4), (2, 5), (3, 6)]
- zip(*)函数,对数据进行解压
l1 = [1,2,3]
l2 = [4,5,6]
zipss = zip(*zip(l1,l2)) # 解压
list(zipss)
结果
[(1, 2, 3), (4, 5, 6)]