Python membagi daftar menjadi beberapa bagian

Pada artikel ini, kita akan membahas berbagai cara untuk membagi daftar menjadi beberapa daftar dengan ukuran tertentu. Jika panjang daftar tidak sepenuhnya dapat dibagi dengan ukuran potongan, maka subdaftar terakhir akan memiliki lebih sedikit elemen

Daftar isi

pengantar

Misalkan kita memiliki daftar angka,

listOfNumbers = [11, 12, 13, 14, 16, 17, 18, 19, 20, 21, 22]

Sekarang kami ingin memecah daftar ini menjadi beberapa daftar ukuran potongan 4. Daftar ini akan menjadi,

[11, 12, 13, 14]

[16, 17, 18, 19]

[20, 21, 22]
_

Karena daftar hanya memiliki 11 elemen, yang tidak habis dibagi 4, maka sublist terakhir hanya memiliki 3 elemen. Semua sublist lainnya masing-masing memiliki 4 elemen

Salah satu struktur data Python yang dapat berisi nilai atau elemen campuran di dalamnya disebut daftar. Artikel ini akan memperkenalkan berbagai cara untuk membagi daftar menjadi beberapa bagian. Anda dapat menggunakan contoh kode apa pun yang sesuai dengan spesifikasi Anda

Pisahkan Daftar dengan Python menjadi Potongan Menggunakan Metode Pemahaman Daftar

Kita dapat menggunakan pemahaman daftar untuk membagi daftar Python menjadi beberapa bagian. Ini adalah cara yang efisien untuk mengenkapsulasi operasi agar kode lebih mudah dipahami

Kode contoh lengkap diberikan di bawah ini

test_list = ['1','2','3','4','5','6','7','8','9','10']

n=3

output=[test_list[i:i + n] for i in range(0, len(test_list), n)]
print(output)

Keluaran

[['1', '2', '3'], ['4', '5', '6'], ['7', '8', '9'], ['10']]

[['1', '2', '3'], ['4', '5', '6'], ['7', '8', '9'], ['10']]
2 mengembalikan rentang angka mulai dari 0 dan berakhir pada
[['1', '2', '3'], ['4', '5', '6'], ['7', '8', '9'], ['10']]
3 dengan langkah
[['1', '2', '3'], ['4', '5', '6'], ['7', '8', '9'], ['10']]
4. Misalnya,
[['1', '2', '3'], ['4', '5', '6'], ['7', '8', '9'], ['10']]
_5 akan mengembalikan
[['1', '2', '3'], ['4', '5', '6'], ['7', '8', '9'], ['10']]
6

[['1', '2', '3'], ['4', '5', '6'], ['7', '8', '9'], ['10']]
7 mendapatkan potongan daftar yang dimulai pada indeks
[['1', '2', '3'], ['4', '5', '6'], ['7', '8', '9'], ['10']]
8 dan berakhir secara eksklusif pada
[['1', '2', '3'], ['4', '5', '6'], ['7', '8', '9'], ['10']]
9. Potongan terakhir dari daftar pisah adalah
from itertools import zip_longest
test_list = ['1','2','3','4','5','6','7','8','9','10']


def group_elements(n, iterable, padvalue='x'):
    return zip_longest(*[iter(iterable)]*n, fillvalue=padvalue)

for output in group_elements(3,test_list):
    print(output)
_0, tetapi indeks yang dihitung
from itertools import zip_longest
test_list = ['1','2','3','4','5','6','7','8','9','10']


def group_elements(n, iterable, padvalue='x'):
    return zip_longest(*[iter(iterable)]*n, fillvalue=padvalue)

for output in group_elements(3,test_list):
    print(output)
1 tidak akan menimbulkan kesalahan tetapi sama dengan
from itertools import zip_longest
test_list = ['1','2','3','4','5','6','7','8','9','10']


def group_elements(n, iterable, padvalue='x'):
    return zip_longest(*[iter(iterable)]*n, fillvalue=padvalue)

for output in group_elements(3,test_list):
    print(output)
0

Metode ini menyediakan generator yang harus diulang menggunakan

from itertools import zip_longest
test_list = ['1','2','3','4','5','6','7','8','9','10']


def group_elements(n, iterable, padvalue='x'):
    return zip_longest(*[iter(iterable)]*n, fillvalue=padvalue)

for output in group_elements(3,test_list):
    print(output)
3 loop. Generator adalah cara yang efisien untuk mendeskripsikan iterator

from itertools import zip_longest
test_list = ['1','2','3','4','5','6','7','8','9','10']


def group_elements(n, iterable, padvalue='x'):
    return zip_longest(*[iter(iterable)]*n, fillvalue=padvalue)

for output in group_elements(3,test_list):
    print(output)

Keluaran

('1', '2', '3')
('4', '5', '6')
('7', '8', '9')
('10', 'x', 'x')

from itertools import zip_longest
test_list = ['1','2','3','4','5','6','7','8','9','10']


def group_elements(n, iterable, padvalue='x'):
    return zip_longest(*[iter(iterable)]*n, fillvalue=padvalue)

for output in group_elements(3,test_list):
    print(output)
4 menghasilkan satu iterator dan iterasi
[['1', '2', '3'], ['4', '5', '6'], ['7', '8', '9'], ['10']]
4 kali dalam daftar. Round-robin dari setiap iterator kemudian dilakukan secara efektif oleh
from itertools import zip_longest
test_list = ['1','2','3','4','5','6','7','8','9','10']


def group_elements(n, iterable, padvalue='x'):
    return zip_longest(*[iter(iterable)]*n, fillvalue=padvalue)

for output in group_elements(3,test_list):
    print(output)
6;

Pisahkan Daftar dengan Python menjadi Potongan Menggunakan Fungsi ________12______7

Anda dapat menggunakan fungsi

from itertools import zip_longest
test_list = ['1','2','3','4','5','6','7','8','9','10']


def group_elements(n, iterable, padvalue='x'):
    return zip_longest(*[iter(iterable)]*n, fillvalue=padvalue)

for output in group_elements(3,test_list):
    print(output)
_7 dasar untuk membagi daftar menjadi ukuran tertentu atau potongan yang lebih kecil. Fungsi ini bekerja pada daftar asli dan variabel berukuran N, beralih ke semua item daftar dan membaginya menjadi potongan berukuran N

Kode contoh lengkap diberikan di bawah ini

test_list = ['1','2','3','4','5','6','7','8','9','10']

x = 3

final_list= lambda test_list, x: [test_list[i:i+x] for i in range(0, len(test_list), x)]

output=final_list(test_list, x)

print('The Final List is:', output)

Keluaran

The Final List is: [['1', '2', '3'], ['4', '5', '6'], ['7', '8', '9'], ['10']]

Pisahkan Daftar dengan Python menjadi Potongan Menggunakan Metode from itertools import zip_longest test_list = ['1','2','3','4','5','6','7','8','9','10'] def group_elements(n, iterable, padvalue='x'): return zip_longest(*[iter(iterable)]*n, fillvalue=padvalue) for output in group_elements(3,test_list): print(output) 7 & ('1', '2', '3') ('4', '5', '6') ('7', '8', '9') ('10', 'x', 'x') 0

Fungsi

from itertools import zip_longest
test_list = ['1','2','3','4','5','6','7','8','9','10']


def group_elements(n, iterable, padvalue='x'):
    return zip_longest(*[iter(iterable)]*n, fillvalue=padvalue)

for output in group_elements(3,test_list):
    print(output)
_7 dapat digunakan dengan fungsi
('1', '2', '3')
('4', '5', '6')
('7', '8', '9')
('10', 'x', 'x')
0 dan menghasilkan generator yang mengulang daftar. Fungsi
('1', '2', '3')
('4', '5', '6')
('7', '8', '9')
('10', 'x', 'x')
_0 membuat iterator yang mengekstrak item yang dipilih dari iterable. Jika awal bukan nol, elemen iterable akan dilewati sebelum awal tercapai. Elemen kemudian dikembalikan secara berurutan kecuali satu langkah ditetapkan lebih tinggi dari satu yang mengakibatkan item-item dilewati

Kode contoh lengkap diberikan di bawah ini

from itertools import islice

test_list = ['1','2','3','4','5','6','7','8','9','10']

def group_elements(lst, chunk_size):
    lst = iter(lst)
    return iter(lambda: tuple(islice(lst, chunk_size)), ())

for new_list in group_elements(test_list , 3):
    print(new_list)

Keluaran

('1', '2', '3')
('4', '5', '6')
('7', '8', '9')
('10',)

Pisahkan Daftar dengan Python menjadi Potongan Menggunakan Metode ('1', '2', '3') ('4', '5', '6') ('7', '8', '9') ('10', 'x', 'x') 4

Pustaka

('1', '2', '3')
('4', '5', '6')
('7', '8', '9')
('10', 'x', 'x')
_4 juga dapat digunakan untuk membagi daftar menjadi potongan berukuran N. Fungsi
('1', '2', '3')
('4', '5', '6')
('7', '8', '9')
('10', 'x', 'x')
_6 membagi array menjadi sub-array dengan ukuran tertentu
[['1', '2', '3'], ['4', '5', '6'], ['7', '8', '9'], ['10']]
4

Kode contoh lengkap diberikan di bawah ini

import numpy

n = numpy.arange(11)

final_list = numpy.array_split(n,4);
print("The Final List is:", final_list)

Fungsi

('1', '2', '3')
('4', '5', '6')
('7', '8', '9')
('10', 'x', 'x')
_8 mengurutkan nilai sesuai dengan argumen yang diberikan dan fungsi
('1', '2', '3')
('4', '5', '6')
('7', '8', '9')
('10', 'x', 'x')
6 menghasilkan daftar/sub-array berdasarkan parameter yang diberikan di dalamnya sebagai parameter

Keluaran

The Final List is: [array([0, 1, 2]), array([3, 4, 5]), array([6, 7, 8]), array([ 9, 10])]

Pisahkan Daftar Menjadi Potongan dengan Python Menggunakan Fungsi yang Ditentukan Pengguna

Metode ini akan mengulangi daftar dan menghasilkan potongan berukuran n berturut-turut di mana n mengacu pada nomor di mana pemisahan perlu diterapkan. Kata kunci

test_list = ['1','2','3','4','5','6','7','8','9','10']

x = 3

final_list= lambda test_list, x: [test_list[i:i+x] for i in range(0, len(test_list), x)]

output=final_list(test_list, x)

print('The Final List is:', output)
0 digunakan dalam fungsi ini dan memungkinkan fungsi dihentikan dan dipulihkan saat nilainya berubah saat eksekusi ditangguhkan. Ini adalah perbedaan penting dari fungsi normal. Fungsi normal tidak dapat kembali ke tempat yang ditinggalkannya. Fungsi ini disebut Generator ketika kita menggunakan pernyataan
test_list = ['1','2','3','4','5','6','7','8','9','10']

x = 3

final_list= lambda test_list, x: [test_list[i:i+x] for i in range(0, len(test_list), x)]

output=final_list(test_list, x)

print('The Final List is:', output)
0 dalam sebuah fungsi. Generator menghasilkan atau mengembalikan nilai dan tidak dapat dinamai sebagai fungsi sederhana, melainkan sebagai iterable, mis. e. , menggunakan lingkaran

Bagaimana Anda membagi daftar menjadi dua bagian yang sama 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 cara membagi daftar menjadi beberapa daftar?

Membagi Daftar menjadi Potongan Menggunakan For-Loop .
Kami instantiate dua daftar. a_list , yang berisi item dari daftar asli kita, dan chunked_list , yang kosong
Kami juga mendeklarasikan sebuah variabel, chunk_size , yang telah kami atur menjadi tiga, untuk menunjukkan bahwa kami ingin membagi daftar kami menjadi potongan berukuran 3

Bagaimana Anda membagi daftar menjadi 3 dengan python?

Python 3 - Metode pemisahan string() . The split() method returns a list of all the words in the string, using str as the separator (splits on all whitespace if left unspecified), optionally limiting the number of splits to num.