Menggunakan notasi slice dan slice object
Untuk memotong sebuah list atau tuple (struktur data dengan sequence), kita dapat menggunakan slice. Memotong yang dimaksudkan disini adalah mengambil sebagian saja dari sebuah list/tuple berdasarkan kriteria tertentu.
Menggunakan notasi slice (:)
Pada dasarnya ada kita dapat melakukan slicing dengan menggunakan 3 argumen dengan pola sebagai berikut.
l[a:b:c] l[a:] l[b:] l[a:b]
Penjelasan :
- Variabel a melambangkan awal indeks potongan (start), jika tidak disediakan maka dianggap mulai dari awal list (ujung kiri).
- Variabel b melambangkan akhir indeks potongan (stop) , jika tidak disediakan maka dianggap berhenti di akhir list (ujung kanan).
- Variabel c melambangkan lompatan (step), jika tidak disediakan maka dianggap bernilai satu
- Jika c bernilai negatif maka hitungan pemotongan dimulai dari ujung kanan
Untuk lebih mudah memahami pola tersebut, coba pelajari dan jalankan kode di bawah ini.
Menggunakan slice object
Alternatif dari slice notation adalah menggunakan slice object. Pada dasarnya slice object dan slice notation menggunakan argumen yang sama. Hanya saja slice object lebih eksplisit sehingga lebih mudah dipahami.
Insialisasi slice object dilakukan seperti contoh pada kode berikut:
slice_object = slice(start, stop, step) slice = l[slice_object]
Pada kode di atas start melambangkan awal indeks dimana pemotongan dimulai , stop untuk melambangkan indeks pembatas pemotongan, dan step melambangkan lompatan indeks. Pola ini sama persis dengan konsep pada penggunaan slice notation.
Kode di bawah ini menggunakan slice object, dan menghasilkan output yang sama dengan kode sebelumnya yang menggunakan slice notation.
Bacaan lebih lanjut mengenai bagaimana melakukan slicing terhadap nilai string dapat dilihat pada artikel: https://koding.alza.web.id/string-slicing/
Sekian dan terima kasih,
Salam