Kita dapat menggunakan. split(pemisah) fungsi untuk membagi string menjadi daftar string menggunakan pemisah yang ditentukan. Pemisah memberi tahu Python di mana harus memutuskan string. Jika tidak ada pemisah yang ditentukan, maka Python akan menggunakan spasi putih dalam string sebagai titik pemisah
Lihat contoh di bawah ini, yang memecah string teks menjadi kata-kata individual
my_text = ‘I am learning Python!’words = my_text.split() #splits the text wherever there is a space.
print(words)
Program di atas menghasilkan output berikut
[‘I’, ‘am’, ‘learning’, ‘Python!’]_Contoh lain untuk membagi string menjadi daftar dengan pemisah '-'
my_string = ‘abcd-efgh-ijkl’my_list = my_string.split(‘-’)
#split the text wherever there’s a hyphen(‘-')
print(my_list)
Keluaran
[‘abcd’, ‘efgh’, ‘ijkl’]Python String strip() FungsiMetode strip() menghapus semua karakter awal (di awal) dan akhir (di akhir) dalam sebuah string (secara default, spasi adalah karakternya)
Sebagai contoh,
text = “ programming “my_text = text.strip()
#Removes the spaces at the beginning and at the end of the string.
print(my_text)_
Output menampilkan string tanpa spasi ekstra di awal dan di akhir
programmingPython map() FungsiFungsi peta Python () digunakan untuk mengembalikan daftar hasil setelah menerapkan fungsi yang diberikan ke setiap item iterable (daftar, tuple dll)
Mari kita lihat sebuah contoh
Mendapatkan daftar angka sebagai input dari pengguna menggunakan fungsi map()
x = list(map(int,input(“Enter the elements“).strip().split(‘ ‘)))# Reads number inputs from user using map() function
print("List is — “, x)_
Keluaran
Enter the elements: 10 20 30 40List is — [10, 20, 30, 40]
Anda akan menemukan fungsi ini paling berguna dalam lingkungan pengkodean yang kompetitif
Iterasi melalui daftarKita dapat mengulang elemen-elemen dari daftar menggunakan loop for. Sebagai contoh,
for x in my_list:
print(“I like ”, x)_
Outputnya akan
I like pizzaI like sandwich
I like salad_Memeriksa apakah ada elemen dalam daftar
Kami dapat menguji apakah suatu elemen ada dalam daftar atau tidak, menggunakan kata kunci 'dalam'
Lihat contoh di bawah ini,
[‘I’, ‘am’, ‘learning’, ‘Python!’]_0Keluaran
[‘I’, ‘am’, ‘learning’, ‘Python!’]1Panjang DaftarKita dapat menggunakan fungsi len() untuk menentukan panjang sebuah list, yaitu jumlah elemen yang ada dalam sebuah list
Dalam tutorial ini, Anda akan belajar cara menggunakan Python untuk membagi daftar, termasuk cara membaginya menjadi dua dan menjadi n potongan berukuran sama. Anda akan belajar cara membagi daftar Python menjadi potongan size n, artinya Anda akan mengembalikan daftar yang masing-masing berisi n (atau lebih sedikit jika tidak ada yang tersisa) item. Mengetahui cara bekerja dengan daftar di Python adalah keterampilan penting untuk dipelajari
Di akhir tutorial ini, Anda akan belajar
- Cara membagi daftar menjadi dua dengan Python
- Cara membagi daftar menjadi potongan-potongan dengan Python
- Cara membagi daftar pada posisi indeks tertentu dengan Python
- Cara menggunakan NumPy untuk membagi daftar dengan Python
Jawaban Cepat. Gunakan Pengindeksan Daftar untuk Membagi Daftar dengan Python
Daftar isi
Cara Mengakses Daftar Python dengan Indeksnya
Salah satu dari banyak properti bagus dari daftar adalah bahwa daftar itu dipesan. Ini berarti bahwa kita dapat mengakses suatu item, atau serangkaian item, berdasarkan indeksnya. Mari kita lihat cara kerja indeks daftar Python
Kita dapat melihat di sini bahwa daftar Python memiliki indeks positif dan juga indeks negatif. Indeks positif dimulai pada posisi 0, artinya item pertama. Indeks daftar negatif dimulai dari -1, memungkinkan Anda mengambil item terakhir dari daftar
Demikian pula, Anda dapat mengakses rentang data dalam daftar menggunakan pengiris daftar. Hal ini dapat dilakukan dengan menggunakan karakter titik dua :, yang memungkinkan Anda memilih item dari posisi tertentu hingga posisi tertentu
Cara Membagi Daftar Python menjadi Setengah
Anda dapat dengan mudah membagi daftar Python menjadi dua menggunakan pengindeksan daftar. Seperti yang Anda pelajari di atas, Anda dapat memilih beberapa item dalam daftar menggunakan pengirisan daftar. Mari kita lihat bagaimana kita dapat menggunakan pengirisan daftar untuk membagi daftar menjadi dua
# Split a List in Half with Python List Slicing a_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] half_length = len(a_list) // 2 first_half, second_half = a_list[:half_length], a_list[half_length:] print(f'{first_half=}') print(f'{second_half=}') # Returns: # first_half=[1, 2, 3, 4, 5] # second_half=[6, 7, 8, 9, 10]Mari uraikan apa yang kita lakukan pada kode di atas
- Kami membuat daftar a_list, yang berisi sepuluh item berbeda
- Kami kemudian membuat variabel integer, half_length, yang merupakan hasil dari membagi panjang daftar dengan dua menggunakan pembagian integer
- Kami kemudian menugaskan variabel, # Split a Python List into Chunks using For Loops a_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] chunked_list = list() chunk_size = 3 for i in range(0, len(a_list), chunk_size): chunked_list.append(a_list[i:i+chunk_size]) print(chunked_list) # Returns: [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11]]_0 dan # Split a Python List into Chunks using For Loops a_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] chunked_list = list() chunk_size = 3 for i in range(0, len(a_list), chunk_size): chunked_list.append(a_list[i:i+chunk_size]) print(chunked_list) # Returns: [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11]]1, yang mengiris daftar ke atas dan dari setengah variabel
Di bagian berikut, Anda akan mempelajari cara membagi daftar menjadi potongan berukuran berbeda dengan Python
Pisahkan Daftar menjadi Potongan Menggunakan For-Loop
For-loop di Python adalah alat yang sangat berguna untuk digunakan. Mereka membuat banyak metode Python mudah diimplementasikan, serta mudah dimengerti. Untuk alasan ini, mari kita mulai dengan menggunakan for-loop untuk membagi daftar kita menjadi beberapa bagian
Salah satu cara Anda dapat membagi daftar menjadi n bagian yang berbeda. Mari kita lihat bagaimana kita bisa melakukannya dengan menggunakan for loop
# Split a Python List into Chunks using For Loops a_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] chunked_list = list() chunk_size = 3 for i in range(0, len(a_list), chunk_size): chunked_list.append(a_list[i:i+chunk_size]) print(chunked_list) # Returns: [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11]]Mari kita lihat apa yang telah kita lakukan di sini
- Kami instantiate dua daftar. a_list, yang berisi item dari daftar asli kami, dan # Split a Python List into Chunks using For Loops a_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] chunked_list = list() chunk_size = 3 for i in range(0, len(a_list), chunk_size): chunked_list.append(a_list[i:i+chunk_size]) print(chunked_list) # Returns: [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11]]3, yang kosong
- Kami juga mendeklarasikan variabel, # Split a Python List into Chunks using For Loops a_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] chunked_list = list() chunk_size = 3 for i in range(0, len(a_list), chunk_size): chunked_list.append(a_list[i:i+chunk_size]) print(chunked_list) # Returns: [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11]]_4, yang telah kami atur menjadi tiga, untuk menunjukkan bahwa kami ingin membagi daftar kami menjadi potongan berukuran 3
- Kami kemudian mengulang daftar kami menggunakan fungsi rentang. Apa yang telah kita lakukan di sini adalah membuat item dari 0, hingga ukuran daftar kita, mengulang pada ukuran potongan kita. Misalnya, fungsi jangkauan kita akan terbaca # Split a Python List into Chunks using For Loops a_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] chunked_list = list() chunk_size = 3 for i in range(0, len(a_list), chunk_size): chunked_list.append(a_list[i:i+chunk_size]) print(chunked_list) # Returns: [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11]]_5, artinya kita akan mengulang menggunakan item # Split a Python List into Chunks using For Loops a_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] chunked_list = list() chunk_size = 3 for i in range(0, len(a_list), chunk_size): chunked_list.append(a_list[i:i+chunk_size]) print(chunked_list) # Returns: [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11]]6
- Kami kemudian mengindeks daftar kami dari # Split a Python List into Chunks using For Loops a_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] chunked_list = list() chunk_size = 3 for i in range(0, len(a_list), chunk_size): chunked_list.append(a_list[i:i+chunk_size]) print(chunked_list) # Returns: [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11]]_7, artinya loop pertama adalah # Split a Python List into Chunks using For Loops a_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] chunked_list = list() chunk_size = 3 for i in range(0, len(a_list), chunk_size): chunked_list.append(a_list[i:i+chunk_size]) print(chunked_list) # Returns: [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11]]8, lalu # Split a Python List into Chunks using For Loops a_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] chunked_list = list() chunk_size = 3 for i in range(0, len(a_list), chunk_size): chunked_list.append(a_list[i:i+chunk_size]) print(chunked_list) # Returns: [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11]]9, dll
- Daftar yang diindeks ini ditambahkan ke daftar kami
Kita dapat melihat bahwa ini adalah cara yang cukup mudah untuk memecah daftar Python menjadi potongan-potongan. Selanjutnya, Anda akan belajar bagaimana melakukannya dengan menggunakan pemahaman daftar Python
Pisahkan Daftar Python menjadi Potongan Menggunakan Pemahaman Daftar
Dalam banyak kasus, for-loop Python dapat ditulis ulang dengan cara yang lebih Pythonic dengan menuliskannya sebagai satu baris yang disebut pemahaman daftar. Pemahaman daftar di Python memiliki sejumlah manfaat yang berguna dibandingkan for-loop, termasuk tidak harus membuat instance daftar kosong terlebih dahulu, dan tidak harus memecah for-loop Anda melalui beberapa baris
Mari kita lihat bagaimana kita bisa menulis pemahaman daftar Python untuk membagi daftar menjadi potongan-potongan
# Split a Python List into Chunks using list comprehensions our_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] chunk_size = 3 chunked_list = [our_list[i:i+chunk_size] for i in range(0, len(our_list), chunk_size)] print(chunked_list) # Returns: [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11]]Sebelum kita memecah kode ini, mari kita lihat seperti apa sintaks dasar pemahaman daftar Python
Sekarang mari kita pecahkan kode kita untuk melihat cara kerjanya
- Kami mendeklarasikan variabel # Split a Python List into Chunks using For Loops a_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] chunked_list = list() chunk_size = 3 for i in range(0, len(a_list), chunk_size): chunked_list.append(a_list[i:i+chunk_size]) print(chunked_list) # Returns: [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11]]_4 untuk menentukan seberapa besar daftar potongan yang kami inginkan
- Untuk ekspresi pemahaman daftar kami, kami mengindeks daftar kami berdasarkan posisi i+chunk_sizeth ke i+chunk_sizeth
- Kami menggunakan ungkapan ini untuk mengulangi setiap item dalam keluaran objek # Split a Python List into Chunks using list comprehensions our_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] chunk_size = 3 chunked_list = [our_list[i:i+chunk_size] for i in range(0, len(our_list), chunk_size)] print(chunked_list) # Returns: [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11]]1 yang dibuat berdasarkan # Split a Python List into Chunks using list comprehensions our_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] chunk_size = 3 chunked_list = [our_list[i:i+chunk_size] for i in range(0, len(our_list), chunk_size)] print(chunked_list) # Returns: [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11]]2, yang dalam hal ini adalah # Split a Python List into Chunks using For Loops a_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] chunked_list = list() chunk_size = 3 for i in range(0, len(a_list), chunk_size): chunked_list.append(a_list[i:i+chunk_size]) print(chunked_list) # Returns: [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11]]6
Meskipun pendekatan ini sedikit lebih cepat untuk diketik, apakah ini lebih mudah dibaca daripada for-loop, siap untuk didiskusikan. Mari pelajari cara membagi daftar Python kita menjadi beberapa bagian menggunakan numpy
Ingin mempelajari lebih lanjut?
Pisahkan Daftar menjadi Potongan Menggunakan NumPy
Numpy adalah pustaka Python luar biasa yang membuat operasi matematika jauh lebih mudah. Yang sedang berkata, NumPy juga bekerja dengan objek seperti daftar, yang disebut array NumPy, yang membuat bekerja dengan daftar lebih mudah. Array NumPy ini dikemas dengan banyak metode berbeda untuk memanipulasi array Anda
Penting untuk diperhatikan bahwa metode ini hanya akan berfungsi dengan nilai numerik
Di bagian tutorial ini, kami akan menggunakan fungsi NumPy # Split a Python List into Chunks using list comprehensions our_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] chunk_size = 3 chunked_list = [our_list[i:i+chunk_size] for i in range(0, len(our_list), chunk_size)] print(chunked_list) # Returns: [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11]]4 untuk membagi daftar Python kami menjadi potongan-potongan. Fungsi ini memungkinkan Anda untuk membagi array menjadi sejumlah array
Mari kita lihat bagaimana kita dapat menggunakan NumPy untuk membagi daftar kita menjadi 3 bagian terpisah
# Split a Python List into Chunks using numpy import numpy as np a_list = [1, 2, 3, 4, 5, 6, 7, 8, 9] our_array = np.array(a_list) chunked_arrays = np.array_split(our_array, 3) chunked_list = [list(array) for array in chunked_arrays] print(chunked_list) # Returns: [[1, 2, 3], [4, 5, 6], [7, 8, 9]]Ini adalah cara yang cukup panjang dalam melakukan sesuatu, dan kami pasti dapat menguranginya sedikit. Mari kita lihat bagaimana itu bisa dilakukan
chunked_list = [list(array) for array in np.array_split(np.array(our_list), 3)] print(chunked_list) # Returns: [[1, 2, 3], [4, 5, 6], [7, 8, 9]]Mari kita uraikan ini sedikit
- Kami mengubah daftar kami menjadi array Numpy
- Kami membagi array kami menjadi n jumlah array menggunakan fungsi # Split a Python List into Chunks using list comprehensions our_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] chunk_size = 3 chunked_list = [our_list[i:i+chunk_size] for i in range(0, len(our_list), chunk_size)] print(chunked_list) # Returns: [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11]]5
- Akhirnya, kami menggunakan pemahaman daftar untuk mengembalikan semua array dalam daftar array kami menjadi daftar
Ingin mempelajari lebih lanjut tentang pembagian dengan Python?
Pisahkan Daftar menjadi Potongan Menggunakan Itertools
Mari kita lihat bagaimana kita dapat menggunakan perpustakaan # Split a Python List into Chunks using list comprehensions our_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] chunk_size = 3 chunked_list = [our_list[i:i+chunk_size] for i in range(0, len(our_list), chunk_size)] print(chunked_list) # Returns: [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11]]6 untuk membagi daftar menjadi potongan-potongan. Secara khusus, kita dapat menggunakan fungsi # Split a Python List into Chunks using list comprehensions our_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] chunk_size = 3 chunked_list = [our_list[i:i+chunk_size] for i in range(0, len(our_list), chunk_size)] print(chunked_list) # Returns: [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11]]_7 untuk melakukannya
Mari kita lihat bagaimana kita bisa melakukan ini
# Split a Python List into Chunks using itertools from itertools import zip_longest our_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] chunk_size = 3 chunked_list = list(zip_longest(*[iter(our_list)]*chunk_size, fillvalue='')) print(chunked_list) # Returns: [(1, 2, 3), (4, 5, 6), (7, 8, 9), (10, 11, '')] chunked_list = [list(item) for item in list(zip_longest(*[iter(our_list)]*chunk_size, fillvalue=''))] print(chunked_list) # Returns: [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11]]Kita dapat melihat di sini bahwa kita dapat memiliki implementasi yang relatif sederhana yang mengembalikan daftar tupel. Perhatikan salah satu hal yang dilakukan di sini adalah membagi daftar menjadi potongan berukuran n, bukan menjadi n potongan
Pertanyaan yang Sering Diajukan
Apa cara terbaik untuk membagi daftar Python?
Cara terbaik untuk membagi daftar Python adalah dengan menggunakan pengindeksan daftar, karena ini memberi Anda fleksibilitas yang sangat besar
Kapan sebaiknya Anda tidak menggunakan Fungsi NumPy array_split() untuk membagi daftar dengan Python?
Fungsi NumPy array_split() memungkinkan Anda membagi array menjadi sejumlah array dengan mudah. Namun, fungsi tersebut hanya bekerja dengan nilai numerik (karena array NumPy hanya dapat berisi nilai numerik)
Kesimpulan
Dalam posting ini, Anda belajar cara membagi daftar Python menjadi beberapa bagian. Anda belajar bagaimana menyelesaikan pemisahan daftar Python menjadi potongan size n atau menjadi # Split a Python List into Chunks using list comprehensions our_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] chunk_size = 3 chunked_list = [our_list[i:i+chunk_size] for i in range(0, len(our_list), chunk_size)] print(chunked_list) # Returns: [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11]]9. Anda telah mempelajari cara melakukan ini menggunakan for-loop, menggunakan pemahaman daftar, NumPy, dan itertools