Jadi Anda punya daftar, tupel atau larik dan Anda ingin mendapatkan kumpulan sub-elemen tertentu darinya, tanpa panjang, ditarik keluar [python] >>> a[1:4] [2, 3, 4] [/python]5 loop?
Python memiliki fitur luar biasa hanya untuk itu yang disebut slicing. Slicing tidak hanya dapat digunakan untuk list, tuple atau array, tetapi juga struktur data kustom, dengan objek slice, yang akan digunakan nanti di artikel ini
Memahami Sintaks Pengiris Python
Untuk memahami cara kerja fungsi slice di Python, Anda perlu memahami apa itu indeks.
Anda dapat menggunakan fungsi irisan dengan beberapa tipe data berbeda di Python – termasuk daftar, tupel, dan string. Ini karena Python menggunakan konsep indeks di semuanya
"Indeks" karakter atau elemen dalam tipe data seperti daftar adalah posisi karakter atau elemen dalam tipe data. Terlepas dari data apa yang disimpan oleh tipe data, nilai indeks selalu dimulai dari nol dan diakhiri dengan satu kurang dari jumlah item dalam daftar
Python juga menggunakan konsep indeks negatif untuk membuat data lebih mudah diakses. Dengan menggunakan indeks negatif, pengguna Python dapat mengakses data dalam tipe data dari ujung wadah, bukan dari awal.
Sintaks dari slice adalah
[python] slice(start, end, step) [/python]_Fungsi irisan menerima hingga tiga parameter sekaligus. Parameter mulai adalah opsional dan menunjukkan indeks wadah tempat Anda ingin mulai mengiris tipe data. Nilai awal default ke None jika tidak ada nilai yang diberikan.
Di sisi lain, memasukkan parameter stop adalah wajib karena ini menunjukkan ke Python indeks tempat pemotongan seharusnya dilakukan. Secara default, Python akan menghentikan pemotongan pada nilai “stop - 1. ”
Dengan kata lain, jika nilai stop adalah 5 saat menggunakan fungsi slice, Python hanya akan mengembalikan nilai hingga nilai indeks adalah 4
Parameter terakhir yang diterima Python disebut step, dan dapat dimasukkan secara opsional sesuai kebutuhan. Ini adalah nilai bilangan bulat yang menunjukkan kepada Python seberapa banyak pengguna ingin menambah antara indeks saat mengiris daftar. Kenaikan default adalah 1, tetapi pengguna dapat memasukkan bilangan bulat positif apa pun yang berlaku dalam langkah
Mengiris Daftar/Array Python dan Sintaks Tuples
Mari kita mulai dengan daftar harian yang normal
[python] >>> a = [1, 2, 3, 4, 5, 6, 7, 8] [/python]Tidak ada yang gila, hanya daftar biasa dengan angka 1 sampai 8. Sekarang katakanlah kita benar-benar ingin sub-elemen 2, 3, dan 4 dikembalikan dalam daftar baru. Bagaimana kita melakukannya?
BUKAN dengan [python] >>> a[1:4] [2, 3, 4] [/python]5 loop, begitulah. Inilah cara Pythonic dalam melakukan sesuatu
[python] >>> a[1:4] [2, 3, 4] [/python]Ini mengembalikan apa yang kita inginkan. Apa sih arti sintaksis itu?
Mari saya jelaskan. [python] >>> a[1:4] [2, 3, 4] [/python]7 berarti mulai dari elemen kedua dalam daftar (perhatikan bahwa indeks pemotongan dimulai pada [python] >>> a[1:4] [2, 3, 4] [/python]8). [python] >>> a[1:4] [2, 3, 4] [/python]9 berarti berakhir pada elemen kelima dalam daftar, tetapi tidak memasukkannya. Titik dua di tengah adalah bagaimana daftar Python mengenali bahwa kami ingin menggunakan slicing untuk mendapatkan objek dalam daftar
Penambahan Python Slicing Lanjutan (Daftar, Tuple, dan Array).
Ada juga klausa kedua opsional yang dapat kita tambahkan yang memungkinkan kita mengatur bagaimana indeks daftar akan bertambah di antara indeks yang telah kita tetapkan
Dalam contoh di atas, katakanlah bahwa kita tidak ingin [python] >>> a[1:4:2] [2, 4] [/python]0 jelek itu dikembalikan dan kita hanya ingin angka genap yang bagus dalam daftar kita. Mudah sekali
[python] >>> a[1:4:2] [2, 4] [/python]_Lihat, sesederhana itu. Titik dua terakhir itu memberi tahu Python bahwa kami ingin memilih kenaikan irisan kami. Secara default, Python menetapkan kenaikan ini ke [python] >>> a[1:4] [2, 3, 4] [/python]7, tetapi titik dua tambahan di akhir angka memungkinkan kita untuk menentukan apa yang kita inginkan.
Pemotongan Python (Daftar, Tupel, dan Array) secara Terbalik
Baiklah, bagaimana kalau kita ingin daftar kita mundur, hanya untuk bersenang-senang?
[python] >>> a[::-1] [8, 7, 6, 5, 4, 3, 2, 1] [/python]Apa?. Apa-apaan itu?
Daftar memiliki sedikit fungsionalitas default saat mengiris. Jika tidak ada nilai sebelum titik dua pertama, artinya mulai dari indeks awal daftar. Jika tidak ada nilai setelah titik dua pertama, itu berarti pergi ke akhir daftar. Ini menghemat waktu kami sehingga kami tidak perlu menentukan [python] >>> a[1:4:2] [2, 4] [/python]2 secara manual sebagai indeks akhir
Oke. Dan bahwa [python] >>> a[1:4:2] [2, 4] [/python]_3 saya menyelinap masuk pada akhirnya? . Jika Anda ingin indeks genap mundur, Anda dapat melewati setiap elemen kedua dan menyetel iterasi ke [python] >>> a[1:4:2] [2, 4] [/python]5. Sederhana
Mengiris Python Tuple
Segala sesuatu di atas juga berfungsi untuk tupel. Sintaks yang sama persis dan cara yang sama persis dalam melakukan sesuatu. Saya akan memberikan contoh hanya untuk menggambarkan bahwa itu memang sama
[python] >>> t = (2, 5, 7, 9, 10, 11, 12) >>> t[2:4] (7, 9) [/python]Dan itu saja. Sederhana, elegan, dan bertenaga
Menggunakan Objek Python Slice
Ada bentuk sintaksis lain yang dapat Anda gunakan yang mungkin lebih mudah dipahami. Ada objek dalam Python yang disebut objek [python] >>> a[1:4:2] [2, 4] [/python]_6 dan dapat digunakan sebagai pengganti sintaks titik dua di atas
Ini sebuah contoh
[python] >>> a = [1, 2, 3, 4, 5] >>> sliceObj = slice(1, 3) >>> a[sliceObj] [2, 3] [/python]Inisialisasi objek [python] >>> a[1:4:2] [2, 4] [/python]6 membutuhkan 3 argumen dengan yang terakhir adalah kenaikan indeks opsional. Format metode umum adalah. [python] >>> a[1:4:2] [2, 4] [/python]_8, dan analog dengan [python] >>> a[1:4:2] [2, 4] [/python]9 bila diterapkan ke daftar atau tuple
Itu dia
Contoh Iris Python
Untuk membantu Anda memahami cara menggunakan slice, berikut adalah beberapa contohnya
Contoh Irisan Dasar #1
Anggaplah Anda memiliki daftar string seperti itu
[python] items = ['car', 'bike', 'house', 'bank', 'purse', 'photo', 'box'] [/python]Kode berikut menggunakan fungsi slice untuk memperoleh sub-daftar dari daftar item
[python] items = ['car', 'bike', 'house', 'bank', 'purse', 'photo', 'box'] sub_items = items[1:4] print(sub_items) [/python]Output dari kode tersebut adalah
[python] ['bike', 'house', 'bank'] [/python]Karena indeks awal adalah 1, Python memulai irisan dengan 'sepeda. ’ Di sisi lain, indeks akhir adalah 4, sehingga irisan menghentikan daftar di ‘bank. ’
Untuk alasan ini, hasil akhir kode adalah daftar dengan tiga item. sepeda, rumah, dan bank. Karena potongan kode ini tidak menggunakan langkah, fungsi irisan mengambil semua nilai dalam rentang dan tidak melewatkan elemen apa pun
#2 Mengiris Elemen “N” Pertama dari Daftar dengan Python Slice
Mendapatkan elemen "N" pertama dari daftar dengan irisan semudah menggunakan sintaks berikut
[python] >>> a = [1, 2, 3, 4, 5, 6, 7, 8] [/python]0Mari ambil daftar yang sama seperti contoh sebelumnya, dan keluarkan tiga elemen pertama dari daftar dengan mengiris
[python] >>> a = [1, 2, 3, 4, 5, 6, 7, 8] [/python]1Kode akan menampilkan hasil berikut
[python] >>> a = [1, 2, 3, 4, 5, 6, 7, 8] [/python]2Perhatikan bagaimana item[. 3] sama dengan item[0. 3]
#3 Mendapatkan Elemen “N” Terakhir dari Daftar dengan Python Slice
Ini mirip dengan contoh terakhir, hanya saja kita dapat meminta tiga elemen terakhir alih-alih meminta tiga elemen pertama
Inilah cara kami melakukannya dengan daftar di contoh terakhir
[python] >>> a = [1, 2, 3, 4, 5, 6, 7, 8] [/python]_3Kode ini akan memberi kita hasil berikut
[python] >>> a = [1, 2, 3, 4, 5, 6, 7, 8] [/python]_4
#4 Memotong Setiap Elemen “Nth” dari Daftar Menggunakan Python
Untuk melakukan ini, kita harus menggunakan parameter step dan mengembalikan sublist yang kita inginkan. Menggunakan daftar yang sama seperti sebelumnya dan dengan asumsi bahwa kita ingin kode kita mengembalikan setiap elemen kedua
[python] >>> a = [1, 2, 3, 4, 5, 6, 7, 8] [/python]5Kode ini akan menyajikan hasil berikut
[python] >>> a = [1, 2, 3, 4, 5, 6, 7, 8] [/python]6
#5 Menggunakan Python Slice untuk Membalik Daftar
Fungsi irisan membuat membalikkan daftar menjadi sangat mudah. Yang perlu Anda lakukan adalah memberikan langkah negatif pada fungsi slice, dan fungsi tersebut akan mencantumkan elemen dari akhir daftar ke awal – membalikkannya
Melanjutkan dengan daftar contoh yang kami gunakan sebelumnya
[python] >>> a = [1, 2, 3, 4, 5, 6, 7, 8] [/python]7Dan ini akan memberi kita output
[python] >>> a = [1, 2, 3, 4, 5, 6, 7, 8] [/python]_8
#6 Menggunakan Python Slice untuk Mengganti Bagian dari Daftar
Selain memungkinkan Anda untuk mengekstrak bagian dari daftar, fungsi irisan juga memudahkan Anda untuk mengubah elemen dalam daftar
Dalam kode berikut, kami mengubah dua elemen pertama dari daftar menjadi dua nilai baru
[python] >>> a = [1, 2, 3, 4, 5, 6, 7, 8] [/python]_9Output dari kode tersebut adalah
[python] >>> a[1:4] [2, 3, 4] [/python]0
#7 Mengganti Sebagian dan Mengubah Ukuran Daftar dengan Slice
Mengubah elemen dan menambahkan elemen baru ke daftar cukup mudah dengan fungsi slice
[python] >>> a[1:4] [2, 3, 4] [/python]_1Kode memberikan output berikut
[python] >>> a[1:4] [2, 3, 4] [/python]_2
#8 Menghapus Elemen dari Daftar Menggunakan Slice
Menggunakan daftar contoh yang telah kami gunakan, inilah cara Anda dapat menghapus elemen dari daftar dengan fungsi irisan
[python] >>> a[1:4] [2, 3, 4] [/python]_3Output dari kode tersebut adalah
[python] >>> a[1:4] [2, 3, 4] [/python]_4Jika Anda ingin mengetahui cara memotong string, itu tercakup dalam artikel lain berjudul Cara Mendapatkan Sub-string Dari String dengan Python – Mengiris String
Itu saja untuk saat ini. Semoga Anda menikmati belajar tentang mengiris dan saya harap ini akan membantu Anda dalam pencarian Anda