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.