Bagaimana Anda mengekstrak bagian dari daftar dengan python?

Mengiris berarti mengakses berbagai daftar. Kita dapat melakukan pemotongan dengan memberikan dua indeks yang dipisahkan oleh titik dua

Nilai pertama adalah indeks awal dan nilai kedua adalah indeks to. Indeks awal bersifat inklusif dan indeks bersifat eksklusif


numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 
print numbers[3:6] 
print numbers[0:1] 

Kode di atas menghasilkan hasil berikut

Sama seperti pengindeksan, kita dapat melakukan pemotongan dari kanan daftar

Untuk mengiris dari akhir daftar, kita dapat menghilangkan indeks kedua dan menggunakan nilai negatif untuk indeks pertama


numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 
print numbers[-3:-1] 
_

Kode di atas menghasilkan hasil berikut

Jika indeks paling kiri dalam sebuah slice datang lebih lambat dari yang kedua, hasilnya adalah urutan kosong

Kita bisa menggunakan jalan pintas. Jika irisan berlanjut hingga akhir urutan, Anda dapat mengabaikan indeks terakhir


numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 
print numbers[-3:] 

Hal yang sama bekerja dari awal


numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 
numbers[:3] 

Untuk menyalin seluruh urutan, Anda dapat mengabaikan kedua indeks


numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 
print numbers[:] 
_

Mengiris sangat berguna untuk mengekstrak bagian dari daftar. Kode berikut membagi URL dari bentuk http. // www. sesuatu. com

Operasi pemotongan yang diperkenalkan di Bagian juga berfungsi dengan daftar, dengan satu tambahan yang sangat berguna. Serta menggunakan slicing untuk mengekstrak bagian dari daftar (mis. e. irisan di sebelah kanan tanda sama dengan), Anda dapat menetapkan nilai elemen dalam daftar dengan menggunakan irisan di sisi kiri tanda sama dengan. Dalam terminologi python, ini karena daftar adalah objek yang dapat diubah, sedangkan string tidak dapat diubah. Sederhananya, ini berarti bahwa setelah nilai string dibuat, itu tidak dapat diubah tanpa membuat variabel baru, sementara daftar dapat dimodifikasi (diperpanjang, dipersingkat, disusun ulang, dll. ) tanpa harus menyimpan hasilnya dalam variabel baru, atau menugaskan ulang nilai ekspresi ke nama variabel asli

Pertimbangkan daftar dengan 5 elemen bilangan bulat

>>> thelist = [0,5,10,15,20]
Sekarang misalkan kita ingin mengubah tiga elemen utama (5, 10 dan 15, pada posisi 1, 2 dan 3 dalam daftar) ke nilai 6, 7, dan 8. Seperti string, kita bisa mengekstrak tiga elemen dengan pernyataan seperti.
>>> thelist[1:4]
[5, 10, 15]
Tetapi dengan sebuah daftar, kita juga dapat memberikan nilai pada potongan tersebut.
>>> thelist[1:4] = [6,7,8]
>>> thelist
[0, 6, 7, 8, 20]

Jika jumlah elemen dalam daftar di sisi kanan tanda sama dengan tidak sama dengan jumlah elemen yang ditunjukkan oleh subskrip irisan, daftar akan diperluas atau dikecilkan untuk mengakomodasi penugasan. (Ingat bahwa jumlah elemen dalam sebuah slice adalah subskrip yang bernilai lebih tinggi dikurangi subskrip yang bernilai lebih rendah. ) Contoh berikut mengilustrasikan hal ini

>>> words = ['We','belong','to','the','knights','who','say','"Ni"']
>>> words[1:4] = ['are']
>>> words
['We', 'are', 'knights', 'who', 'say', '"Ni"']     
>>> words[1:2] = ['are','a','band','of']
['We', 'are', 'a', 'band', 'of', 'knights', 'who', 'say', '"Ni"']
Perhatikan bahwa ketika kita mengganti sebuah slice dengan satu elemen, itu harus diapit oleh tanda kurung siku, secara efektif menjadikannya daftar dengan satu elemen, untuk menghindari pengecualian TypeError

Penugasan melalui pemotongan berbeda dari yang dilakukan dengan subskrip sederhana di mana sebuah irisan dapat mengubah panjang daftar, sementara penugasan yang dilakukan melalui satu subskrip akan selalu mempertahankan panjang daftar. Hal ini berlaku untuk irisan yang kedua subskripnya sama. Perhatikan perbedaan antara dua ekspresi yang ditunjukkan di bawah ini

>>> # using a single subscript
>>> x = ['one','two','three','four','five']
>>> x[1] = ['dos','tres','cuatro']
>>> x
['one', ['dos', 'tres', 'cuatro'], 'three', 'four', 'five']       
>>> # using a slice 
>>> x = ['one','two','three','four','five']
>>> x[1:1] = ['dos','tres','cuatro']
>>> x
>>> ['one', 'dos', 'tres', 'cuatro', 'two', 'three', 'four', 'five']
Dalam contoh terakhir, kami dapat memasukkan tiga elemen ke dalam daftar tanpa mengganti elemen apa pun dalam daftar dengan menugaskan ke irisan di mana kedua subskripnya sama

Kegunaan lain dari slice adalah untuk membuat salinan daftar yang dapat dimodifikasi secara terpisah. (Lihat Bagian  untuk memahami mengapa hal ini penting. ) Dalam hal ini, Anda membuat irisan tanpa indeks awal atau akhir. Python kemudian akan membuat salinan lengkap dari daftar tersebut

>>> x = ['one','two','three']
>>> y = x[:]
>>> y
['one', 'two', 'three']

Salah satu kegunaan terakhir dari slice adalah menghapus elemen dari array. Jika kita mencoba mengganti satu elemen atau irisan dari array dengan daftar kosong, daftar kosong itu akan benar-benar menggantikan lokasi yang ditetapkan. Tetapi jika kita mengganti sepotong array dengan daftar kosong, potongan array itu akan dihapus secara efektif

>>> a = [1,3,5,7,9]
>>> a[2] = []
>>> a
[1, 3, [], 7, 9]
>>> b = [2,4,6,8]
>>> b[2:3] = []
>>> b
[2, 4, 8]

Cara lain untuk menghapus item dari daftar adalah dengan menggunakan pernyataan del. Anda memberikan pernyataan del dengan elemen atau irisan dari daftar yang ingin Anda hapus, dan elemen atau irisan itu dihapus tanpa jejak. Jadi untuk menghapus elemen kedua dari list a pada contoh sebelumnya, kita akan menggunakan pernyataan del sebagai berikut

Fitur mana yang memungkinkan kita mengekstrak bagian dari daftar dengan Python?

Potongan Daftar . Untuk kode contoh di bawah ini, ia akan mengembalikan daftar dengan item dari indeks 0 hingga dan tidak termasuk indeks 2. Sepotong sintaksis daftar.

Bagaimana cara mengekstrak substring dari daftar string dengan Python?

Anda dapat mengekstrak substring dalam rentang mulai . Jika awal dihilangkan, rentangnya dari awal, dan jika akhir dihilangkan, rentangnya sampai akhir. Anda juga dapat menggunakan nilai negatif. Jika start > end , tidak ada error yang muncul dan karakter kosong '' diekstraksi.

Apakah digunakan untuk mengekstrak bagian dari daftar?

[[ operator dapat digunakan untuk mengekstrak elemen tunggal dari daftar. Di sini kita mengekstrak elemen pertama dari daftar.