Membagi matriks menjadi submatriks python tanpa numpy

Kata kunci hasil memungkinkan suatu fungsi untuk kembali ke tempat sebelumnya ketika dipanggil lagi. Ini adalah perbedaan kritis dari fungsi biasa. Fungsi reguler tidak dapat kembali ke tempat yang ditinggalkannya. Kata kunci hasil membantu fungsi untuk mengingat statusnya. Hasil memungkinkan fungsi untuk menangguhkan dan melanjutkan sementara ternyata nilai pada saat penangguhan eksekusi.  

Python3




my_list=

[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
0
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
1
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
2
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
3
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
2
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
1
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
2
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
7
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
2

[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
9
[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
Auxiliary Space: O(1)
0
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
2
[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
Auxiliary Space: O(1)
2
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
2
[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
Auxiliary Space: O(1)
4
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
2
[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
Auxiliary Space: O(1)
6
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
2

[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
Auxiliary Space: O(1)
8
[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
Auxiliary Space: O(1)
9
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
2
[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
1
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
2
[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
3
[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
4

 

[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
5

[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
6

[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
7
[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
8

[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
_9

[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
9
[array([0, 1, 2, 3, 4]),
 array([5, 6, 7, 8, 9]),
 array([10, 11, 12, 13, 14]),
 array([15, 16, 17, 18, 19]),
 array([20, 21, 22, 23, 24]),
 array([25, 26, 27, 28, 29])]
1

________21______9

[array([0, 1, 2, 3, 4]),
 array([5, 6, 7, 8, 9]),
 array([10, 11, 12, 13, 14]),
 array([15, 16, 17, 18, 19]),
 array([20, 21, 22, 23, 24]),
 array([25, 26, 27, 28, 29])]
3
[array([0, 1, 2, 3, 4]),
 array([5, 6, 7, 8, 9]),
 array([10, 11, 12, 13, 14]),
 array([15, 16, 17, 18, 19]),
 array([20, 21, 22, 23, 24]),
 array([25, 26, 27, 28, 29])]
4
[array([0, 1, 2, 3, 4]),
 array([5, 6, 7, 8, 9]),
 array([10, 11, 12, 13, 14]),
 array([15, 16, 17, 18, 19]),
 array([20, 21, 22, 23, 24]),
 array([25, 26, 27, 28, 29])]
5
[array([0, 1, 2, 3, 4]),
 array([5, 6, 7, 8, 9]),
 array([10, 11, 12, 13, 14]),
 array([15, 16, 17, 18, 19]),
 array([20, 21, 22, 23, 24]),
 array([25, 26, 27, 28, 29])]
6________31______7________31______8
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
2
[(0, 1, 2, 3, 4),
 (5, 6, 7, 8, 9),
 (10, 11, 12, 13, 14),
 (15, 16, 17, 18, 19),
 (20, 21, 22, 23, 24),
 (25, 26, 27, 28, 29)]
0________40______1

[(0, 1, 2, 3, 4),
 (5, 6, 7, 8, 9),
 (10, 11, 12, 13, 14),
 (15, 16, 17, 18, 19),
 (20, 21, 22, 23, 24),
 (25, 26, 27, 28, 29)]
2
[(0, 1, 2, 3, 4),
 (5, 6, 7, 8, 9),
 (10, 11, 12, 13, 14),
 (15, 16, 17, 18, 19),
 (20, 21, 22, 23, 24),
 (25, 26, 27, 28, 29)]
3
[(0, 1, 2, 3, 4),
 (5, 6, 7, 8, 9),
 (10, 11, 12, 13, 14),
 (15, 16, 17, 18, 19),
 (20, 21, 22, 23, 24),
 (25, 26, 27, 28, 29)]
4
[(0, 1, 2, 3, 4),
 (5, 6, 7, 8, 9),
 (10, 11, 12, 13, 14),
 (15, 16, 17, 18, 19),
 (20, 21, 22, 23, 24),
 (25, 26, 27, 28, 29)]
5
[(0, 1, 2, 3, 4),
 (5, 6, 7, 8, 9),
 (10, 11, 12, 13, 14),
 (15, 16, 17, 18, 19),
 (20, 21, 22, 23, 24),
 (25, 26, 27, 28, 29)]
6

 

[(0, 1, 2, 3, 4),
 (5, 6, 7, 8, 9),
 (10, 11, 12, 13, 14),
 (15, 16, 17, 18, 19),
 (20, 21, 22, 23, 24),
 (25, 26, 27, 28, 29)]
_7

[(0, 1, 2, 3, 4),
 (5, 6, 7, 8, 9),
 (10, 11, 12, 13, 14),
 (15, 16, 17, 18, 19),
 (20, 21, 22, 23, 24),
 (25, 26, 27, 28, 29)]
_8

________40

[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
_281_______
[[1, 2, 3], [4, 5, 6], [7, 8, 9], [10]]
1

 

[[1, 2, 3], [4, 5, 6], [7, 8, 9], [10]]
2=
[[1, 2, 3], [4, 5, 6], [7, 8, 9], [10]]
4
[[1, 2, 3], [4, 5, 6], [7, 8, 9], [10]]
5

[[1, 2, 3], [4, 5, 6], [7, 8, 9], [10]]
6
[[1, 2, 3], [4, 5, 6], [7, 8, 9], [10]]
7

Keluaran

[['geeks', 'for', 'geeks', 'like', 'geeky'], 
 ['nerdy', 'geek', 'love', 'questions', 'words'], 
 ['life']]

Metode 2. Memecah daftar menjadi potongan ukuran N dengan Python menggunakan loop

Dalam contoh ini, kami menggunakan loop di python dan mengiris daftar yang akan membantu kami memecah daftar menjadi potongan-potongan

Python3




my_list=

[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
0
[0, 1, 2]
[3, 4, 5]
[6, 7, 8]
[9]
1
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
2
[0, 1, 2]
[3, 4, 5]
[6, 7, 8]
[9]
3
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
2
[0, 1, 2]
[3, 4, 5]
[6, 7, 8]
[9]
5
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
2
[0, 1, 2]
[3, 4, 5]
[6, 7, 8]
[9]
7
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
2_______50__0____1_______

[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
9my_list2
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
2my_list4
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
2my_list6
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
2my_list8
[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
4

=0=

[array([0, 1, 2, 3, 4]),
 array([5, 6, 7, 8, 9]),
 array([10, 11, 12, 13, 14]),
 array([15, 16, 17, 18, 19]),
 array([20, 21, 22, 23, 24]),
 array([25, 26, 27, 28, 29])]
8

=3=

[(0, 1, 2, 3, 4),
 (5, 6, 7, 8, 9),
 (10, 11, 12, 13, 14),
 (15, 16, 17, 18, 19),
 (20, 21, 22, 23, 24),
 (25, 26, 27, 28, 29)]
0=6

=7=

[0, 1, 2]
[3, 4, 5]
[6, 7, 8]
[9]
5

[array([0, 1, 2, 3, 4]),
 array([5, 6, 7, 8, 9]),
 array([10, 11, 12, 13, 14]),
 array([15, 16, 17, 18, 19]),
 array([20, 21, 22, 23, 24]),
 array([25, 26, 27, 28, 29])]
3
[array([0, 1, 2, 3, 4]),
 array([5, 6, 7, 8, 9]),
 array([10, 11, 12, 13, 14]),
 array([15, 16, 17, 18, 19]),
 array([20, 21, 22, 23, 24]),
 array([25, 26, 27, 28, 29])]
4
[array([0, 1, 2, 3, 4]),
 array([5, 6, 7, 8, 9]),
 array([10, 11, 12, 13, 14]),
 array([15, 16, 17, 18, 19]),
 array([20, 21, 22, 23, 24]),
 array([25, 26, 27, 28, 29])]
5
[array([0, 1, 2, 3, 4]),
 array([5, 6, 7, 8, 9]),
 array([10, 11, 12, 13, 14]),
 array([15, 16, 17, 18, 19]),
 array([20, 21, 22, 23, 24]),
 array([25, 26, 27, 28, 29])]
6
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
04

________21______9

[[1, 2, 3], [4, 5, 6], [7, 8, 9], [10]]
2=
[array([0, 1, 2, 3, 4]),
 array([5, 6, 7, 8, 9]),
 array([10, 11, 12, 13, 14]),
 array([15, 16, 17, 18, 19]),
 array([20, 21, 22, 23, 24]),
 array([25, 26, 27, 28, 29])]
4

________21______9

[[1, 2, 3], [4, 5, 6], [7, 8, 9], [10]]
6
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
11
[(0, 1, 2, 3, 4),
 (5, 6, 7, 8, 9),
 (10, 11, 12, 13, 14),
 (15, 16, 17, 18, 19),
 (20, 21, 22, 23, 24),
 (25, 26, 27, 28, 29)]
5
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
13

Keluaran

[1, 2, 3]
[4, 5, 6]
[7, 8, 9]

Metode 3. Memecah daftar menjadi potongan ukuran N dengan Python menggunakan pemahaman Daftar

Ini adalah cara yang elegan untuk memecah daftar menjadi satu baris kode untuk membagi daftar menjadi beberapa daftar dengan Python

Python3




my_list=

[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
0
[0, 1, 2]
[3, 4, 5]
[6, 7, 8]
[9]
1
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
2
[0, 1, 2]
[3, 4, 5]
[6, 7, 8]
[9]
3
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
2
[0, 1, 2]
[3, 4, 5]
[6, 7, 8]
[9]
5
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
2
[0, 1, 2]
[3, 4, 5]
[6, 7, 8]
[9]
7
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
2_______50__0____1_______

[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
27my_list2
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
2my_list4
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
2my_list6
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
2my_list8
[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
4

 

[(0, 1, 2, 3, 4),
 (5, 6, 7, 8, 9),
 (10, 11, 12, 13, 14),
 (15, 16, 17, 18, 19),
 (20, 21, 22, 23, 24),
 (25, 26, 27, 28, 29)]
_7

[(0, 1, 2, 3, 4),
 (5, 6, 7, 8, 9),
 (10, 11, 12, 13, 14),
 (15, 16, 17, 18, 19),
 (20, 21, 22, 23, 24),
 (25, 26, 27, 28, 29)]
_8

________40

[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
_281_______
[0, 1, 2]
[3, 4, 5]
[6, 7, 8]
[9]
7

 

[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
_41

[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
42=
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
44
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
45
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
46
[(0, 1, 2, 3, 4),
 (5, 6, 7, 8, 9),
 (10, 11, 12, 13, 14),
 (15, 16, 17, 18, 19),
 (20, 21, 22, 23, 24),
 (25, 26, 27, 28, 29)]
5
[0, 1, 2]
[3, 4, 5]
[6, 7, 8]
[9]
1
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
49
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
45
[(0, 1, 2, 3, 4),
 (5, 6, 7, 8, 9),
 (10, 11, 12, 13, 14),
 (15, 16, 17, 18, 19),
 (20, 21, 22, 23, 24),
 (25, 26, 27, 28, 29)]
6
[array([0, 1, 2, 3, 4]),
 array([5, 6, 7, 8, 9]),
 array([10, 11, 12, 13, 14]),
 array([15, 16, 17, 18, 19]),
 array([20, 21, 22, 23, 24]),
 array([25, 26, 27, 28, 29])]
3
[array([0, 1, 2, 3, 4]),
 array([5, 6, 7, 8, 9]),
 array([10, 11, 12, 13, 14]),
 array([15, 16, 17, 18, 19]),
 array([20, 21, 22, 23, 24]),
 array([25, 26, 27, 28, 29])]
4
[array([0, 1, 2, 3, 4]),
 array([5, 6, 7, 8, 9]),
 array([10, 11, 12, 13, 14]),
 array([15, 16, 17, 18, 19]),
 array([20, 21, 22, 23, 24]),
 array([25, 26, 27, 28, 29])]
5
[array([0, 1, 2, 3, 4]),
 array([5, 6, 7, 8, 9]),
 array([10, 11, 12, 13, 14]),
 array([15, 16, 17, 18, 19]),
 array([20, 21, 22, 23, 24]),
 array([25, 26, 27, 28, 29])]
6
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
56
[(0, 1, 2, 3, 4),
 (5, 6, 7, 8, 9),
 (10, 11, 12, 13, 14),
 (15, 16, 17, 18, 19),
 (20, 21, 22, 23, 24),
 (25, 26, 27, 28, 29)]
0=6
[(0, 1, 2, 3, 4),
 (5, 6, 7, 8, 9),
 (10, 11, 12, 13, 14),
 (15, 16, 17, 18, 19),
 (20, 21, 22, 23, 24),
 (25, 26, 27, 28, 29)]
5
[(0, 1, 2, 3, 4),
 (5, 6, 7, 8, 9),
 (10, 11, 12, 13, 14),
 (15, 16, 17, 18, 19),
 (20, 21, 22, 23, 24),
 (25, 26, 27, 28, 29)]
9
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
61
[0, 1, 2]
[3, 4, 5]
[6, 7, 8]
[9]
1
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
49
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
64
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
64
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
66

[[1, 2, 3], [4, 5, 6], [7, 8, 9], [10]]
6
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
68

Keluaran

[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
Auxiliary Space: O(1)

Implementasi Alternatif.  

Python3




[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
69=
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
0
[0, 1, 2]
[3, 4, 5]
[6, 7, 8]
[9]
1
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
2
[0, 1, 2]
[3, 4, 5]
[6, 7, 8]
[9]
3
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
2
[0, 1, 2]
[3, 4, 5]
[6, 7, 8]
[9]
5
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
2
[0, 1, 2]
[3, 4, 5]
[6, 7, 8]
[9]
7
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
2
[[1, 2, 3], [4, 5, 6], [7, 8, 9], [10]]
1
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
2my_list2
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
2my_list4
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
2my_list6
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
2my_list8
[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
4

[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
_90

[(0, 1, 2, 3, 4),
 (5, 6, 7, 8, 9),
 (10, 11, 12, 13, 14),
 (15, 16, 17, 18, 19),
 (20, 21, 22, 23, 24),
 (25, 26, 27, 28, 29)]
_7

[(0, 1, 2, 3, 4),
 (5, 6, 7, 8, 9),
 (10, 11, 12, 13, 14),
 (15, 16, 17, 18, 19),
 (20, 21, 22, 23, 24),
 (25, 26, 27, 28, 29)]
_8

________40

[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
_281_______
[0, 1, 2]
[3, 4, 5]
[6, 7, 8]
[9]
7

[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
_90

[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
_41

[[1, 2, 3], [4, 5, 6], [7, 8, 9], [10]]
2=
[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
Auxiliary Space: O(1)
00
[(0, 1, 2, 3, 4),
 (5, 6, 7, 8, 9),
 (10, 11, 12, 13, 14),
 (15, 16, 17, 18, 19),
 (20, 21, 22, 23, 24),
 (25, 26, 27, 28, 29)]
5
[(0, 1, 2, 3, 4),
 (5, 6, 7, 8, 9),
 (10, 11, 12, 13, 14),
 (15, 16, 17, 18, 19),
 (20, 21, 22, 23, 24),
 (25, 26, 27, 28, 29)]
6
[array([0, 1, 2, 3, 4]),
 array([5, 6, 7, 8, 9]),
 array([10, 11, 12, 13, 14]),
 array([15, 16, 17, 18, 19]),
 array([20, 21, 22, 23, 24]),
 array([25, 26, 27, 28, 29])]
3
[array([0, 1, 2, 3, 4]),
 array([5, 6, 7, 8, 9]),
 array([10, 11, 12, 13, 14]),
 array([15, 16, 17, 18, 19]),
 array([20, 21, 22, 23, 24]),
 array([25, 26, 27, 28, 29])]
4
[array([0, 1, 2, 3, 4]),
 array([5, 6, 7, 8, 9]),
 array([10, 11, 12, 13, 14]),
 array([15, 16, 17, 18, 19]),
 array([20, 21, 22, 23, 24]),
 array([25, 26, 27, 28, 29])]
___________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________g

[[1, 2, 3], [4, 5, 6], [7, 8, 9], [10]]
6
[[1, 2, 3], [4, 5, 6], [7, 8, 9], [10]]
7

Keluaran

[[1, 2, 3, 4], [5, 6, 7, 8], [9]]

Metode 4. Memecah daftar menjadi potongan ukuran N dengan Python menggunakan Numpy

Di sini, kami menggunakan Numpy. array_split, yang membagi array menjadi n potongan dengan ukuran yang sama

Python3




[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
Auxiliary Space: O(1)
_14
[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
Auxiliary Space: O(1)
15

 

[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
Auxiliary Space: O(1)
16=
[array([0, 1, 2, 3, 4]),
 array([5, 6, 7, 8, 9]),
 array([10, 11, 12, 13, 14]),
 array([15, 16, 17, 18, 19]),
 array([20, 21, 22, 23, 24]),
 array([25, 26, 27, 28, 29])]
6
[array([0, 1, 2, 3, 4]),
 array([5, 6, 7, 8, 9]),
 array([10, 11, 12, 13, 14]),
 array([15, 16, 17, 18, 19]),
 array([20, 21, 22, 23, 24]),
 array([25, 26, 27, 28, 29])]
7
[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
Auxiliary Space: O(1)
20
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
49

[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
Auxiliary Space: O(1)
_22my_list2
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
49

Keluaran

[array([0, 1, 2, 3, 4]),
 array([5, 6, 7, 8, 9]),
 array([10, 11, 12, 13, 14]),
 array([15, 16, 17, 18, 19]),
 array([20, 21, 22, 23, 24]),
 array([25, 26, 27, 28, 29])]

Metode 5. Memecah daftar menjadi potongan ukuran N dengan Python menggunakan itertool

Dalam contoh ini, kita akan menggunakan itertool untuk mengiris setiap larik dengan ukuran yang sama. kami melewati parameter dalam kisaran 30 dan ukuran split 5

Python3




[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
Auxiliary Space: O(1)
25
[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
Auxiliary Space: O(1)
26
[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
Auxiliary Space: O(1)
14
[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
Auxiliary Space: O(1)
28

 

 

[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
7
[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
Auxiliary Space: O(1)
30

________21______9

[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
Auxiliary Space: O(1)
32=
[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
Auxiliary Space: O(1)
34
[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
Auxiliary Space: O(1)
35

________21______9

[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
Auxiliary Space: O(1)
37
[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
Auxiliary Space: O(1)
34
[array([0, 1, 2, 3, 4]),
 array([5, 6, 7, 8, 9]),
 array([10, 11, 12, 13, 14]),
 array([15, 16, 17, 18, 19]),
 array([20, 21, 22, 23, 24]),
 array([25, 26, 27, 28, 29])]
7
[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
Auxiliary Space: O(1)
_40
[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
Auxiliary Space: O(1)
41
[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
Auxiliary Space: O(1)
42
[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
Auxiliary Space: O(1)
43

 

 

[[1, 2, 3], [4, 5, 6], [7, 8, 9], [10]]
4
[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
Auxiliary Space: O(1)
45
[array([0, 1, 2, 3, 4]),
 array([5, 6, 7, 8, 9]),
 array([10, 11, 12, 13, 14]),
 array([15, 16, 17, 18, 19]),
 array([20, 21, 22, 23, 24]),
 array([25, 26, 27, 28, 29])]
6
[array([0, 1, 2, 3, 4]),
 array([5, 6, 7, 8, 9]),
 array([10, 11, 12, 13, 14]),
 array([15, 16, 17, 18, 19]),
 array([20, 21, 22, 23, 24]),
 array([25, 26, 27, 28, 29])]
7
[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
Auxiliary Space: O(1)
20
[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
Auxiliary Space: O(1)
49
[[1, 2, 3], [4, 5, 6], [7, 8, 9], [10]]
1
[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
Auxiliary Space: O(1)
51

Keluaran

[(0, 1, 2, 3, 4),
 (5, 6, 7, 8, 9),
 (10, 11, 12, 13, 14),
 (15, 16, 17, 18, 19),
 (20, 21, 22, 23, 24),
 (25, 26, 27, 28, 29)]

Metode 6. Koleksi

Salah satu pendekatan untuk membagi daftar menjadi potongan berukuran N tanpa menggunakan loop adalah dengan menggunakan modul collections. Modul koleksi memiliki kelas deque yang memungkinkan Anda dengan mudah membagi daftar menjadi potongan-potongan dengan ukuran tertentu

Berikut adalah contoh bagaimana Anda dapat menggunakan kelas deque untuk membagi daftar menjadi potongan berukuran N

Python3




[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
Auxiliary Space: O(1)
25
[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
Auxiliary Space: O(1)
53
[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
Auxiliary Space: O(1)
14
[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
Auxiliary Space: O(1)
55

 

[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
7
[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
Auxiliary Space: O(1)
57

[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
Auxiliary Space: O(1)
58
[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
Auxiliary Space: O(1)
59

[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
Auxiliary Space: O(1)
58
[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
Auxiliary Space: O(1)
61=
[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
Auxiliary Space: O(1)
63

[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
Auxiliary Space: O(1)
_58
[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
Auxiliary Space: O(1)
65

[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
Auxiliary Space: O(1)
58
[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
Auxiliary Space: O(1)
67
[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
Auxiliary Space: O(1)
68

[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
Auxiliary Space: O(1)
_69
[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
Auxiliary Space: O(1)
70

[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
Auxiliary Space: O(1)
_69
[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
Auxiliary Space: O(1)
72

[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
Auxiliary Space: O(1)
69
[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
Auxiliary Space: O(1)
74=
[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
Auxiliary Space: O(1)
76

[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
Auxiliary Space: O(1)
69
[array([0, 1, 2, 3, 4]),
 array([5, 6, 7, 8, 9]),
 array([10, 11, 12, 13, 14]),
 array([15, 16, 17, 18, 19]),
 array([20, 21, 22, 23, 24]),
 array([25, 26, 27, 28, 29])]
3
[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
Auxiliary Space: O(1)
79
[array([0, 1, 2, 3, 4]),
 array([5, 6, 7, 8, 9]),
 array([10, 11, 12, 13, 14]),
 array([15, 16, 17, 18, 19]),
 array([20, 21, 22, 23, 24]),
 array([25, 26, 27, 28, 29])]
5
[array([0, 1, 2, 3, 4]),
 array([5, 6, 7, 8, 9]),
 array([10, 11, 12, 13, 14]),
 array([15, 16, 17, 18, 19]),
 array([20, 21, 22, 23, 24]),
 array([25, 26, 27, 28, 29])]
6
[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
Auxiliary Space: O(1)
82

[(0, 1, 2, 3, 4),
 (5, 6, 7, 8, 9),
 (10, 11, 12, 13, 14),
 (15, 16, 17, 18, 19),
 (20, 21, 22, 23, 24),
 (25, 26, 27, 28, 29)]
2
[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
Auxiliary Space: O(1)
84
[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
Auxiliary Space: O(1)
68

[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
Auxiliary Space: O(1)
_86
[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
Auxiliary Space: O(1)
87

[(0, 1, 2, 3, 4),
 (5, 6, 7, 8, 9),
 (10, 11, 12, 13, 14),
 (15, 16, 17, 18, 19),
 (20, 21, 22, 23, 24),
 (25, 26, 27, 28, 29)]
_2

[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
Auxiliary Space: O(1)
_69
[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
Auxiliary Space: O(1)
90

[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
Auxiliary Space: O(1)
69
[(0, 1, 2, 3, 4),
 (5, 6, 7, 8, 9),
 (10, 11, 12, 13, 14),
 (15, 16, 17, 18, 19),
 (20, 21, 22, 23, 24),
 (25, 26, 27, 28, 29)]
3
[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
Auxiliary Space: O(1)
74

[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
Auxiliary Space: O(1)
94=
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
0
[0, 1, 2]
[3, 4, 5]
[6, 7, 8]
[9]
1
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
2
[0, 1, 2]
[3, 4, 5]
[6, 7, 8]
[9]
3
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
2
[0, 1, 2]
[3, 4, 5]
[6, 7, 8]
[9]
5
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
2
[0, 1, 2]
[3, 4, 5]
[6, 7, 8]
[9]
7
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
2
[[1, 2, 3], [4, 5, 6], [7, 8, 9], [10]]
1
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
2my_list2
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
2my_list4
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
2my_list6
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
2my_list8
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
2
[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
15
[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
4

[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
17=
[0, 1, 2]
[3, 4, 5]
[6, 7, 8]
[9]
5

________21______20=

[[1, 2, 3], [4, 5, 6], [7, 8, 9], [10]]
4
[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
23

[[1, 2, 3], [4, 5, 6], [7, 8, 9], [10]]
6
[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
25
[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
26

Keluaran

[[1, 2, 3], [4, 5, 6], [7, 8, 9], [10]]

Kelas deque memungkinkan Anda untuk dengan mudah menghapus elemen dari sisi kiri atau kanan daftar, membuatnya mudah untuk membagi daftar menjadi potongan-potongan dengan ukuran tertentu. Kode menggunakan while loop dan fungsi generator untuk mengulangi daftar dan menghasilkan potongan satu per satu. Perulangan terputus saat deque kosong, yang menunjukkan bahwa semua elemen telah diproses

Pendekatan ini memiliki kompleksitas waktu O(n) dan kompleksitas ruang O(n), di mana n adalah ukuran daftar input

Bagaimana Anda membagi matriks menjadi sub matriks dengan Python?

Anda dapat menggunakan numpy. fungsi split() untuk membagi array menjadi lebih dari satu sub-array secara vertikal (baris).

Bagaimana Anda menghasilkan semua Submatriks dari suatu matriks?

Ini dapat dilakukan dalam O(1) waktu. Misalkan indeks suatu elemen adalah (X, Y) dalam pengindeksan berbasis 0, maka jumlah submatriks (Sx, y) untuk elemen ini dapat diberikan dengan rumus . x, y = (X + 1) * (Y + 1) * (N – X) * (N – Y).

Bisakah sebuah matriks menjadi submatriks dari dirinya sendiri?

Submatriks utama dari sebuah matriks adalah matriks itu sendiri dan submatriks tersebut diperoleh darinya dengan mencoret baris dan kolom dari indeks yang sama berulang kali.