Tuple¶
Tuple adalah salah satu tipe data barisan dalam Python yang memiliki sifat immutable atau tidak bisa diubah. Ini berarti elemen-elemen yang ada di dalam sebuah tuple, tidak bisa kita ubah, baik ditambah, dikurangi, diganti, atau diubah urutannya.
Kita bisa mendefinisikan sebuah tuple dengan beberapa cara [Fou21d]:
Menggunakan tanda kurung untuk tuple kosong:
()
Menggunakan (membubuhi) tanda koma (
,
) untuk tuple dengan 1 elemen, misal:a,
atau(a,)
Mendaftar elemen-elemen yang dipisahkan dengan tanda koma, misal:
a, b, c
atau(a, b, c, d)
Menggunakan fungsi bawaan
tuple()
Mari kita coba satu persatu.
Mendefinisikan Tuple dengan ,
dan ()
¶
Kita bisa membuat tuple kosong hanya dengan membuat tanda kurung ()
tanpa ada elemen di dalamnya.
empty_tuple = ()
Berbeda dengan list, kita bisa membungkus beberapa elemen dengan tanda kurung untuk mendefinisikan tuple dengan ,
yang memisahkan setiap elemennya.
ceo = ("mark", "elon")
Penggunaan tanda kurung sebenarnya opsional jika kita membuat tuple yang memiliki satu atau beberapa elemen di dalamnya. Caranya, kita hanya perlu menambahkan ,
setelah setiap elemen atau sebagai akhiran hanya ada satu elemen. Perhatikan contoh di bawah.
# ini adalah tuple yang sama dengan `ceo`
same_ceo = "mark", "elon"
# ini juga tuple dengan satu elemen
bootcamp = "bitlabs",
Tip
ketelitian diperlukan di sini ketika membuat tuple dengan satu elemen tanpa ada tanda kurung ()
. Jika kita lupa menambahkan ,
di akhir, maka bootcamp
akan menjadi sebuah string
empty_tuple = ()
print(empty_tuple, type(empty_tuple))
ceo = ("mark", "elon")
print(ceo, type(ceo))
same_ceo = "mark", "elon"
print(same_ceo, type(same_ceo))
bootcamp = "",
print(bootcamp, type(bootcamp))
str_bootcamp = "bitlabs"
print(str_bootcamp, type(str_bootcamp))
print(str_bootcamp == bootcamp)
() <class 'tuple'>
('mark', 'elon') <class 'tuple'>
('mark', 'elon') <class 'tuple'>
('',) <class 'tuple'>
bitlabs <class 'str'>
False
Tuple yang termasuk dalam kategori sequence dalam Python, juga memiliki sistem indeks dan irisan yang sama dengan list. Tidak ada yang berbeda dalam hal ini.
# akses ceo pertama
print(ceo[0])
# akses ceo terakhir dengan indeks negatif
print(ceo[-1])
Karena sifat ()
yang opsional, kita bisa mendefinisikan tuple hanya dengan ,
, seperti pada variabel same_ceo
. Dari variabel same_ceo
, karena sifat iterable pada Python, kita bisa membongkar (unpack) setiap elemen di dalamnya ke dalam beberapa variabel sesuai dengan jumlah elemennya.
Misalkan, kita ingin membongkar elemen same_ceo
ke dalam variabel first_ceo
dan second_ceo
. Kita bisa melakukan indexing dan memasukkan nilainya ke dalam variabel tersebut satu persatu seperti di bawah ini.
first_ceo = ceo[0]
second_ceo = ceo[1]
Atau, cara lain yang lebih pythonic adalah dengan melakukan tuple unpacking, yaitu membongkar secara langsung elemen-elemen tuple ke dalam variabel-variabel tersebut yang dipisahkan dengan ,
. Perhatikan kode singkat berikut.
first_ceo, second_ceo = ceo
Eksplorasi
Dengan unpacking, definisikan variabel longitude
dan latitude
dari variabel location
pada cell bawah ini
location = -6.91589099562453, 107.62285836361218
print(location)
# KETIK DI SINI
(-6.91589099562453, 107.62285836361218)
Mendefinisikan Tuple dengan tuple()
¶
Sama dengan tipe data lainnya, Python menyediakan fungsi bawaan tuple()
yang kegunaannya mirip dengan fungsi list()
, yaitu untuk mendefinisikan tuple kosong atau mengonversi objek lain (misal, string) menjadi tuple.
Sebagai contoh, kita lakukan hal yang sama seperti pada list sebelumnya pada string "bitlabs"
. Selain itu, masih ingat dengan variabel first_quarter_months
? Kita bisa mengubah list tersebut menjadi tuple dengan fungsi tuple
.
first_quarter_months = ["January", "February", "March"]
print(first_quarter_months, type(first_quarter_months))
print(tuple(first_quarter_months), type(tuple(first_quarter_months)))
print(tuple())
print(tuple("bitlabs"))
['January', 'February', 'March'] <class 'list'>
('January', 'February', 'March') <class 'tuple'>
()
('b', 'i', 't', 'l', 'a', 'b', 's')
Eksplorasi
Misal didefinisikan variabel di bawah ini.
tuple_x = list(), str(), int(), float()
tuple_y = (list(), str(), int(), float())
Kira-kira apa yang ditampilkan dari kode di bawah?
print(tuple_x == tuple_y)
print(tuple_y[0])
# KETIK DI SINI