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