Daftar dapat dibagi berdasarkan ukuran potongan yang ditentukan. Memisahkan daftar menjadi n bagian mengembalikan daftar n daftar yang berisi jumlah elemen daftar yang sama Show
Jika jumlah daftar, n, tidak dibagi rata dengan panjang daftar yang dipisah, maka beberapa daftar akan memiliki satu elemen lebih banyak daripada yang lain Pemisahan daftar python4 cara mudah untuk membagi daftar dengan Python
Metode 1. Menggunakan metode len()Untuk membagi daftar dengan Python, gunakan metode len() dengan iterable sebagai daftar untuk menemukan panjangnya dan kemudian membagi panjangnya dengan 2 menggunakan operator // untuk menemukan indeks_tengah dari daftar list = [11, 18, 19, 21] length = len(list) middle_index = length // 2 first_half = list[:middle_index] second_half = list[middle_index:] print(first_half) print(second_half) Keluaran [11, 18] [19, 21]_ Seperti yang Anda lihat dari output, kami membagi daftar menjadi dua bagian. Kami menggunakan operator titik dua (. ) untuk mengakses bagian pertama dan kedua dari daftar pisah Cara membagi daftar menjadi n bagian dengan PythonUntuk membagi daftar menjadi n bagian dengan Python, gunakan numpy. fungsi array_split() np. split() fungsi membagi array menjadi beberapa sub-array Metode numpy array_split() mengembalikan daftar n array Numpy, masing-masing berisi kira-kira jumlah elemen yang sama dari daftar import numpy as np listA = [11, 18, 19, 21, 29, 46] splits = np.array_split(listA, 3) for array in splits: print(list(array)) Keluaran [11, 18] [19, 21] [29, 46] Dalam contoh ini, kami membagi daftar menjadi 3 bagian Membagi Daftar Menjadi Potongan N Elemen dengan PythonDaftar dapat dibagi berdasarkan ukuran potongan yang ditentukan. Artinya kita bisa menentukan ukuran chunk Jika subset daftar tidak sesuai dengan ukuran potongan yang ditentukan, pengisi harus dimasukkan sebagai pengganti pemegang elemen kosong Oleh karena itu, kami akan menggunakan Tidak Ada sebagai filter untuk mengisi pemegang elemen kosong tersebut def list_split(listA, n): for x in range(0, len(listA), n): every_chunk = listA[x: n+x] if len(every_chunk) < n: every_chunk = every_chunk + \ [None for y in range(n-len(every_chunk))] yield every_chunk print(list(list_split([11, 21, 31, 41, 51, 61, 71, 81, 91, 101, 111, 112, 113], 7)))_ Keluaran [[11, 21, 31, 41, 51, 61, 71], [81, 91, 101, 111, 112, 113, None]] Daftar telah dibagi menjadi potongan yang sama dari 7 elemen masing-masing Fungsi list_split() di atas mengambil argumen. listA untuk daftar dan chunk_size untuk angka yang akan dipisahkan. Kemudian, fungsi beralih melalui daftar dengan peningkatan ukuran potongan n Setiap potongan diharapkan memiliki ukuran yang diberikan sebagai argumen. Jika tidak ada cukup elemen untuk membagi ukuran yang sama, sisa elemen yang tidak terpakai diisi dengan Tidak Ada Metode 2. Menggunakan pemahaman daftarMenggunakan pemahaman daftar, kita dapat membagi daftar asli dan membuat potongan. Untuk membagi daftar menjadi potongan-potongan, berikan N ke sintaks pemahaman daftar, dan itu akan membuat daftar baru dengan N potongan elemen main_list = [11, 21, 46, 19] split_size = 3 splitted_list = [main_list[i:i+split_size] for i in range(0, len(main_list), split_size)] print(splitted_list)_ Keluaran [[11, 21, 46], [19]] Anda dapat melihat bahwa kami membagi daftar menjadi potongan-potongan 3 elemen. Anda dapat membagi daftar menjadi potongan 2 elemen atau empat elemen. Lewati split_size, yaitu N dalam kasus kami Metode 3. Menggunakan untuk loopGunakan perulangan for untuk membagi daftar menjadi potongan-potongan yang berbeda. Tentukan ukuran potongan dari daftar, dan itu akan membuat daftar potongan dengan ukuran yang tepat main_list = [11, 21, 46, 19] chunk_size = 2 splitted_list = list() for i in range(0, len(main_list), chunk_size): splitted_list.append(main_list[i:i+chunk_size]) print(splitted_list)_ Keluaran [[11, 21], [46, 19]]_ Metode 4. Menggunakan numpy array_split()np. array_split() adalah fungsi perpustakaan numpy yang membagi daftar menjadi beberapa bagian. Ini memungkinkan Anda untuk membagi array menjadi sejumlah array [11, 18] [19, 21]_0 Keluaran [[11, 21], [46, 19]]_ FAQBagaimana cara membagi daftar menjadi beberapa daftar dengan Python?Gunakan pengirisan daftar untuk membagi daftar menjadi beberapa daftar [11, 18] [19, 21]_2 Keluaran [11, 18] [19, 21]_3 Bagaimana cara membagi daftar menjadi sejumlah subdaftar tertentu dengan Python?Gunakan pengirisan daftar yang dikombinasikan dengan fungsi range() untuk membagi daftar menjadi sejumlah subdaftar tertentu [11, 18] [19, 21]_4 Keluaran [11, 18] [19, 21]_5 KesimpulanUntuk membagi panjang daftar dengan Python, Anda dapat menggunakan fungsi len() bawaan yang dikombinasikan dengan floor bagi panjangnya dengan 2 menggunakan operator // untuk menemukan indeks_tengah daftar Terlepas dari pendekatan fungsi len(), Anda juga dapat menggunakan for loop, pemahaman daftar, atau fungsi numpy array_split() Bagaimana Anda membagi daftar 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 panjang dengan Python?Jika Anda memiliki baris kode yang sangat panjang dengan Python dan Anda ingin membaginya menjadi beberapa baris, jika Anda berada di dalam tanda kurung, tanda kurung siku, atau . .
Bagaimana Anda membagi daftar menjadi bagian N dengan Python?array_split(list, n) hanya akan membagi daftar menjadi n bagian. |