Perhatikan bahwa tidak selalu mungkin untuk menghasilkan daftar di mana potongannya sama panjangnya. Ini karena elemen daftar mungkin tidak dapat dibagi secara merata ke potongan N Show
Ini adalah panduan komprehensif untuk membagi daftar menjadi potongan-potongan N dengan Python. Jika Anda mencari solusi cepat, saya yakin hal di atas akan berhasil. Tetapi jika Anda mempelajari Python, pastikan untuk membaca seluruh panduan untuk mengetahui berbagai pendekatan untuk membagi daftar menjadi potongan-potongan. Ide dari panduan ini bukan untuk menggunakan solusi yang sudah ada tetapi untuk mengimplementasikan sendiri logikanya Mari lompat ke dalamnya 1. Pendekatan IteratorBerikut adalah contoh cara membagi daftar Python menjadi potongan berukuran sama menggunakan iterator dan kata kunci hasil def split_list(lst, chunk_size): for i in range(0, len(lst), chunk_size): yield lst[i:i+chunk_size] # Example usage lst = [1, 2, 3, 4, 5, 6, 7, 8, 9] chunk_size = 3 for chunk in split_list(lst, chunk_size): print(chunk) Kode ini akan menampilkan yang berikut [1, 2, 3] [4, 5, 6] [7, 8, 9]_ Mari kita lihat kodenya lebih dekat Fungsi def split_list(lst, chunk_size): for i in range(0, len(lst), chunk_size): yield lst[i:i+chunk_size] # Example usage lst = [1, 2, 3, 4, 5, 6, 7, 8, 9] chunk_size = 3 for chunk in split_list(lst, chunk_size): print(chunk)0 mengambil dua argumen. daftar def split_list(lst, chunk_size): for i in range(0, len(lst), chunk_size): yield lst[i:i+chunk_size] # Example usage lst = [1, 2, 3, 4, 5, 6, 7, 8, 9] chunk_size = 3 for chunk in split_list(lst, chunk_size): print(chunk)1 dan bilangan bulat def split_list(lst, chunk_size): for i in range(0, len(lst), chunk_size): yield lst[i:i+chunk_size] # Example usage lst = [1, 2, 3, 4, 5, 6, 7, 8, 9] chunk_size = 3 for chunk in split_list(lst, chunk_size): print(chunk)2 yang menentukan ukuran setiap potongan. Fungsi menggunakan def split_list(lst, chunk_size): for i in range(0, len(lst), chunk_size): yield lst[i:i+chunk_size] # Example usage lst = [1, 2, 3, 4, 5, 6, 7, 8, 9] chunk_size = 3 for chunk in split_list(lst, chunk_size): print(chunk)3 loop untuk mengulangi daftar, dan menghasilkan sublist def split_list(lst, chunk_size): for i in range(0, len(lst), chunk_size): yield lst[i:i+chunk_size] # Example usage lst = [1, 2, 3, 4, 5, 6, 7, 8, 9] chunk_size = 3 for chunk in split_list(lst, chunk_size): print(chunk)1 mulai dari indeks saat ini dan berakhir pada indeks saat ini ditambah ukuran potongan Berikut adalah penjelasan langkah demi langkah tentang cara kerja kode
Hasil dari semua ini adalah daftar yang dibagi menjadi N potongan Tapi Apa yang Dilakukan 'hasil'?Pendekatan yang diperkenalkan sebelumnya adalah yang termudah untuk membagi daftar menjadi beberapa bagian. Tetapi jika Anda baru mengenal [1, 2, 3] [4, 5, 6] [7, 8, 9]_0 kata kunci dan iterator, solusi ini mungkin membuat Anda bingung Jika Anda tertarik dengan iterator, pastikan untuk membaca panduan lengkap ini untuk iterator dan iterable dengan Python Bagian selanjutnya mengajarkan Anda bagaimana melakukan pendekatan sebelumnya tanpa menggunakan kata kunci [1, 2, 3] [4, 5, 6] [7, 8, 9]0 tetapi menggunakan daftar sebagai gantinya 2. Untuk Pendekatan LoopBerikut cara lain untuk membagi daftar menjadi beberapa bagian dengan Python. Pendekatan ini menggunakan for loop dan daftar dan dengan demikian sedikit lebih ramah-pemula daripada contoh sebelumnya Berikut adalah langkah-langkah yang perlu Anda ambil
Inilah kode yang mengimplementasikan langkah-langkah tersebut. Pastikan untuk membaca komentar untuk tetap di atasnya sepanjang waktu # Set the number of chunks N = 4 # Create a list of numbers my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] # Create an empty list to store the chunks chunks = [] # Iterate over the elements of the list in groups of N for i in range(0, len(my_list), N): # Extract each group of N elements as a sublist chunk = my_list[i:i + N] # Append the sublist to the list of chunks chunks.append(chunk) # Print the chunks print(chunks) Kode ini menghasilkan output berikut [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10]] 2. 1. Daftar Pemahaman Bisa Melakukan Hal yang SamaSaat Anda berurusan dengan for loop, dalam beberapa kasus, Anda mungkin dapat menggunakan pemahaman daftar untuk merapikan kode Itu selalu diperdebatkan apakah Anda harus menggunakan pemahaman atau tidak. Ini karena pemahaman daftar pasti mempersingkat kode tetapi sebenarnya membuatnya kurang mudah dibaca Bagaimanapun, inilah contoh sebelumnya yang menggunakan pemahaman daftar alih-alih perulangan for # Define the input list input_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] # Define the chunk size chunk_size = 3 # Create the output list using a list comprehension output_list = [input_list[i:i + chunk_size] for i in range(0, len(input_list), chunk_size)] # Print the output list print(output_list) Ini akan menghasilkan output berikut [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10]] 3. Sementara LoopPada contoh sebelumnya, Anda menggunakan perulangan for untuk membagi daftar menjadi potongan-potongan. Karena Anda dapat menggunakan perulangan for, Anda juga dapat melakukannya dengan perulangan while Inilah tampilan kode saat menggunakan while loop # define the list of elements my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] # define the size of the chunks chunk_size = 3 # create an empty list to store the chunks chunks = [] # create an index variable to track the current position in the list index = 0 # loop until the index is larger than the length of the list while index < len(my_list): # get the sublist of the current chunk chunk = my_list[index:index+chunk_size] # append the chunk to the list of chunks chunks.append(chunk) # update the index to the next chunk index += chunk_size # print the resulting chunks print(chunks) Keluaran [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10]] Solusi ini membuat daftar kosong untuk menyimpan potongan yang dihasilkan dan kemudian menggunakan while loop untuk mengulangi daftar asli dengan ukuran potongan, menambahkan setiap potongan ke daftar potongan. Variabel indeks digunakan untuk melacak posisi saat ini dalam daftar dan diperbarui pada setiap iterasi ke potongan berikutnya 4. Gunakan NumPy untuk Membagi menjadi N PotonganDi Python, ada modul matematika dan sains populer yang disebut NumPy yang banyak digunakan oleh komunitas ilmiah Python Jika Anda sudah menggunakan NumPy, Anda dapat menggunakan fungsi # Set the number of chunks N = 4 # Create a list of numbers my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] # Create an empty list to store the chunks chunks = [] # Iterate over the elements of the list in groups of N for i in range(0, len(my_list), N): # Extract each group of N elements as a sublist chunk = my_list[i:i + N] # Append the sublist to the list of chunks chunks.append(chunk) # Print the chunks print(chunks)5 untuk membagi daftar menjadi beberapa bagian. Fungsi ini menggunakan daftar sebagai argumen pertama dan ukuran potongan sebagai argumen kedua Perhatikan bahwa pendekatan ini memaksa elemen menjadi N potongan. Nilai sisa tidak ditempatkan di bagian mereka sendiri tetapi didorong ke bagian terakhir sebagai gantinya Sebagai contoh, mari kita bagi daftar 10 angka menjadi 3 bagian import numpy as np # Define the list to be split my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] # Split the list into chunks of size 3 chunks = np.array_split(my_list, 3) # Print the resulting chunks print(chunks) # Output: [array([1, 2, 3]), array([4, 5, 6]), array([7, 8, 9, 10])] Perhatikan bagaimana potongan terakhir sekarang memiliki 4 elemen alih-alih mengambil elemen tambahan dan menempatkannya di potongannya sendiri Bagaimana Anda membagi seluruh daftar dengan Python?Buat daftar kosong yang akan menyimpan hasil bagi. Ulangi semua elemen dalam daftar yang diberikan menggunakan loop for. Bagilah setiap elemen dengan angka/pembagi yang diberikan dan tambahkan hasilnya dalam daftar resultan. Terakhir, tampilkan daftar resultan setelah semua hasil bagi telah dihitung dan ditambahkan padanya
Bagaimana Anda membagi daftar menjadi beberapa bagian dengan Python?Hal ini dapat dilakukan dengan menggunakan langkah-langkah berikut. . Dapatkan panjang daftar menggunakan fungsi len() Jika panjang bagian tidak diberikan, bagi panjang daftar dengan 2 menggunakan operator lantai untuk mendapatkan indeks tengah daftar Iris daftar menjadi dua bagian menggunakan [. middle_index] dan [middle_index. ] Bagaimana cara membagi daftar menjadi beberapa daftar?Membagi Daftar menjadi Potongan Menggunakan For-Loop . Kami instantiate dua daftar. a_list , yang berisi item dari daftar asli kita, dan chunked_list , yang kosong Kami juga mendeklarasikan sebuah variabel, chunk_size , yang telah kami atur menjadi tiga, untuk menunjukkan bahwa kami ingin membagi daftar kami menjadi potongan berukuran 3 Bisakah Anda menggunakan split () pada daftar?Fungsi pemisahan dapat digunakan untuk memisahkan string dengan bantuan pembatas. Fungsi split dapat digunakan untuk memisahkan string dengan bantuan kemunculan karakter. Fungsi pemisahan dapat digunakan untuk memisahkan string dalam bentuk daftar . |