Python Tuple - Tuple Unpacking (Bagian 1)
Reno Iqbalsah
04/04/2023
Bagian ini memembahas tentang bagaimana kita melakukan unpacking pada tipe data tuple pada bahasa pemrograman Python.
Tuple unpacking adalah salah satu fitur yang paling ditonjolkan tipe data tuple
. Fitur ini memungkinkan kita untuk dapat mengeluarkan item dari sebuah tuple dan meng-assign
item tersebut pada variabel baru.
Tuple Unpacking Dasar
Kita dapat meng-assign setiap item dalam sebuah tuple
menjadi variabel baru dengan notasi seperti di bawah ini.
buah = ("apel", "nanas", "jeruk")
(merah, kuning, oranye) = buah
print(merah) # output : "apel"
print(kuning) # output : "nanas"
print(oranye) # output : "jeruk"
Dari kode di atas, setiap item pada variabel buah
akan diassign ke variabel baru sesuai dengan urutan index-nya.
Unpacking dengan Tanda Bintang *
Dengan menambahkan tanda bintang pada nama variabel yang akan diassign dengan item pada tuple
, akan menambahkan beberapa item sekaligus dalam sebuah variabel.
buah = ("nanas", "melon", "apel", "strawberry", "cherry")
(kuning, hijau, *merah) = buah
print(kuning) # output : "nanas"
print(hijau) # output : "melon"
print(merah) # output : ["apel", "strawberry", "cherry"]
Sebagaimana pada kode di atas, index 0 akan diassign ke variabel kuning
, index 1 akan diassign pada variabel hijau
, dan sisanya akan diassign pada variabel merah
sebagai sebuah list
buah = ("melon", "nanas", "lemon", "apel")
(hijau, *kuning, merah) = buah
print(hijau) # output : "melon"
print(kuning) # output : ["nanas", "lemon"]
print(merah) # output : "apel"
Apabila variabel dengan tanda *
kita letakkan di tengah, maka variabel hijau
akan mengambil item pada index 0 dan variabel merah
akan mengambil index terakhir,
dan sisanya akan diassign pada variabel kuning
di tengah.
Catatan : Tuple unpacking hanya meng-assign variabel berdasarkan urutan index saja, nama variabel tidak akan berpengaruh sama sekali. Apabila kalian pernah belajar JavaScript, mungkin notasi ini akan mirip dengan object deconstructing, tetapi akan berbeda karena tuple unpacking meng-assign berdasarkan index, sedangkan object deconstructing meng-assign berdasarkan nama variabel.