Bagaimana Anda membagi item dalam daftar dengan python?

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() Fungsi

Metode 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

programming
Python map() Fungsi

Fungsi 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 40
List is — [10, 20, 30, 40]

Anda akan menemukan fungsi ini paling berguna dalam lingkungan pengkodean yang kompetitif

Iterasi melalui daftar

Kita dapat mengulang elemen-elemen dari daftar menggunakan loop for. Sebagai contoh,

my_list = [‘pizza’, ‘sandwich’, ‘salad’]
for x in my_list:
print(“I like ”, x)
_

Outputnya akan

I like pizza
I 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!’]
_0

Keluaran

[‘I’, ‘am’, ‘learning’, ‘Python!’]
1Panjang Daftar

Kita 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

Bagaimana Anda membagi item dalam daftar dengan python?
Gunakan perulangan for untuk membagi daftar Python menjadi potongan-potongan

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

Bagaimana Anda membagi item dalam daftar dengan 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

  1. Kami membuat daftar a_list, yang berisi sepuluh item berbeda
  2. Kami kemudian membuat variabel integer, half_length, yang merupakan hasil dari membagi panjang daftar dengan dua menggunakan pembagian integer
  3. 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

  1. 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
  2. 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
  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
  4. 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
  5. 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

Bagaimana Anda membagi item dalam daftar dengan python?
Bagaimana Daftar Pemahaman bekerja dengan Python

Sekarang mari kita pecahkan kode kita untuk melihat cara kerjanya

  1. 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
  2. Untuk ekspresi pemahaman daftar kami, kami mengindeks daftar kami berdasarkan posisi i+chunk_sizeth ke i+chunk_sizeth
  3. 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

  1. Kami mengubah daftar kami menjadi array Numpy
  2. 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
  3. 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

Bagaimana Anda membagi item dalam daftar 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 memisahkan item dalam daftar?

Biasanya, kami menggunakan koma untuk memisahkan tiga item atau lebih dalam daftar. Namun, jika satu atau beberapa item ini berisi koma, Anda harus menggunakan titik koma, bukan koma, untuk memisahkan item dan menghindari kemungkinan kebingungan.

Bagaimana Anda membagi daftar menjadi dua 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 Anda membagi daftar string dengan Python?

Kita dapat menggunakan. fungsi split(pemisah) 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.