5
5
https://stackoverflow.com/questions/42519/how-do-you-rotate-a-two-dimensional-array
6
6
"""
7
7
8
+ from __future__ import annotations
8
9
9
- def make_matrix (row_size : int = 4 ) -> [[int ]]:
10
+
11
+ def make_matrix (row_size : int = 4 ) -> list [list ]:
10
12
"""
11
13
>>> make_matrix()
12
14
[[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16]]
@@ -23,7 +25,7 @@ def make_matrix(row_size: int = 4) -> [[int]]:
23
25
return [[1 + x + y * row_size for x in range (row_size )] for y in range (row_size )]
24
26
25
27
26
- def rotate_90 (matrix : [[]] ) -> [[] ]:
28
+ def rotate_90 (matrix : list [ list ] ) -> list [ list ]:
27
29
"""
28
30
>>> rotate_90(make_matrix())
29
31
[[4, 8, 12, 16], [3, 7, 11, 15], [2, 6, 10, 14], [1, 5, 9, 13]]
@@ -35,7 +37,7 @@ def rotate_90(matrix: [[]]) -> [[]]:
35
37
# OR.. transpose(reverse_column(matrix))
36
38
37
39
38
- def rotate_180 (matrix : [[]] ) -> [[] ]:
40
+ def rotate_180 (matrix : list [ list ] ) -> list [ list ]:
39
41
"""
40
42
>>> rotate_180(make_matrix())
41
43
[[16, 15, 14, 13], [12, 11, 10, 9], [8, 7, 6, 5], [4, 3, 2, 1]]
@@ -47,7 +49,7 @@ def rotate_180(matrix: [[]]) -> [[]]:
47
49
# OR.. reverse_column(reverse_row(matrix))
48
50
49
51
50
- def rotate_270 (matrix : [[]] ) -> [[] ]:
52
+ def rotate_270 (matrix : list [ list ] ) -> list [ list ]:
51
53
"""
52
54
>>> rotate_270(make_matrix())
53
55
[[13, 9, 5, 1], [14, 10, 6, 2], [15, 11, 7, 3], [16, 12, 8, 4]]
@@ -59,22 +61,22 @@ def rotate_270(matrix: [[]]) -> [[]]:
59
61
# OR.. transpose(reverse_row(matrix))
60
62
61
63
62
- def transpose (matrix : [[]] ) -> [[] ]:
64
+ def transpose (matrix : list [ list ] ) -> list [ list ]:
63
65
matrix [:] = [list (x ) for x in zip (* matrix )]
64
66
return matrix
65
67
66
68
67
- def reverse_row (matrix : [[]] ) -> [[] ]:
69
+ def reverse_row (matrix : list [ list ] ) -> list [ list ]:
68
70
matrix [:] = matrix [::- 1 ]
69
71
return matrix
70
72
71
73
72
- def reverse_column (matrix : [[]] ) -> [[] ]:
74
+ def reverse_column (matrix : list [ list ] ) -> list [ list ]:
73
75
matrix [:] = [x [::- 1 ] for x in matrix ]
74
76
return matrix
75
77
76
78
77
- def print_matrix (matrix : [[]] ) -> [[]] :
79
+ def print_matrix (matrix : list [ list ] ) -> None :
78
80
for i in matrix :
79
81
print (* i )
80
82
0 commit comments