如何用最短的代码旋转一个矩阵?
- def print_table(t):
- for i in t:
- for j in i:
- print j,
- m = [[1,2,3],[4,5,6],[7,8,9]]
- n = zip(*m)
- print_table(m)
- print_table(n)
输出如下:
1 2 3
4 5 6
7 8 9
1 4 7
2 5 8
3 6 9
zip(*m)就可以旋转一个矩阵。其关键就在于*运算符。*运算符用于将一个序列展开。
*m == m[0],m[1],m[2]
zip(*m) == zip(m[0],m[1],m[2])