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 membutuhkan 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 daftar nilai dengan Python?Metode Python String split()
. Anda dapat menentukan pemisah, pemisah default adalah spasi putih apa pun. Catatan. Ketika maxsplit ditentukan, daftar akan berisi jumlah elemen yang ditentukan ditambah satu. The split() method splits a string into a list. You can specify the separator, default separator is any whitespace. Note: When maxsplit is specified, the list will contain the specified number of elements plus one.
Bagaimana Anda membagi daftar menjadi beberapa dengan Python?Anda dapat menggunakan fungsi array_split numpy e. g. , np. array_split(np. array(data), 20) untuk dibagi menjadi 20 potongan berukuran hampir sama. Untuk memastikan potongan berukuran persis sama, gunakan np.
Bagaimana Anda memisahkan 12345 dengan Python?Di Python3, itu akan menjadi list(map(int,str(12345))) – Serge Stroobandt. 26 Agustus 2017 pukul 20. 51 Atau bisa juga [*map(int,str(12345))] – teepee. 26 November 2020 pukul 18. 51 Bagaimana Anda membagi angka menjadi digit terpisah dengan Python?Gunakan str untuk mengonversi angka menjadi string sehingga Anda dapat mengulanginya. Gunakan pemahaman daftar untuk membagi string menjadi digit individual. Gunakan int untuk mengubah digit kembali menjadi bilangan bulat |