Bagaimana Anda membagi array dengan python?

Daftar dapat dibagi berdasarkan ukuran potongan yang ditentukan. Memisahkan daftar menjadi n bagian mengembalikan daftar n daftar yang berisi jumlah elemen daftar yang sama

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 python

4 cara mudah untuk membagi daftar dengan Python

  1. Menggunakan len(). Metode len() mengembalikan panjang daftar dan kemudian menggunakan pembagian lantai
  2. Menggunakan pemahaman daftar. Pisahkan daftar menjadi potongan-potongan, dan berikan N ke pemahaman daftar
  3. Menggunakan untuk loop. Gunakan perulangan for untuk membagi daftar menjadi potongan-potongan yang berbeda
  4. Menggunakan numpy array_split(). Ini memungkinkan Anda untuk membagi array menjadi sejumlah array

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 Python

Untuk 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 Python

Daftar 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 daftar

Menggunakan 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 loop

Gunakan 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]]
_

FAQ

Bagaimana 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

Kesimpulan

Untuk 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 array menjadi dua dengan Python?

Split 2-D Array Gunakan fungsi split() . Ada dua cara untuk membagi array, satu berdasarkan baris dan yang lainnya berdasarkan kolom. Secara default, array dibagi berdasarkan baris (sumbu = 0). Anda juga dapat menggunakan numpy.

Bagaimana Anda membagi seluruh array dengan Python?

divide() dengan Python. numpy. divide(arr1, arr2, out = Tidak ada, di mana = Benar, casting = 'same_kind', order = 'K', dtype = Tidak ada) . Elemen array dari array pertama dibagi dengan elemen dari elemen kedua (semua terjadi berdasarkan elemen).

Bagaimana Anda membagi array menjadi dua bagian?

Solusi sederhananya adalah menjalankan dua putaran untuk membagi larik dan memeriksa apakah mungkin untuk membagi larik menjadi dua bagian sehingga jumlah bagian_pertama .

Bagaimana Anda membagi data dalam array?

Metode split() membagi string menjadi array substring . Metode split() mengembalikan array baru. Metode split() tidak mengubah string asli. Jika (" ") digunakan sebagai pemisah, string dipisahkan di antara kata-kata.