Tuple mirip dengan list. Bedanya, tuple bersifat immutable, sehingga anggotanya tidak bisa diubah. Kalau mirip, mengapa harus menggunakan tuple?
Kita menggunakan tuple tergantung kebutuhan. Untuk beberapa hal, tuple memiliki kelebihan sebagai berikut:
- Karena tuple adalah immutable, maka iterasi pada tuple lebih cepat dibandingkan list.
- Tuple bisa berisi anggota yang immutable yang dapat digunakan sebagai key untuk dictionary. List tidak bisa dipakai untuk itu.
- Kalau kita memerlukan data yang memang tidak untuk diubah, maka menggunakan tuple bisa menjamin bahwa data tersebut akan write-protected.
Membuat Tuple
Tuple dibuat dengan meletakkan semua anggota di dalam tanda kurung ( ), masing-masing dipisahkan oleh tanda koma. Menggunakan tanda kurung sebenarnya hanya opsional, tapi kita sebaiknya tetap menggunakannya untuk kemudahan pembacaan kode.
Tuple dapat berisi tipe data yang sama maupun campuran.
# membuat tuple kosong
# Output: ( )
my_tuple = ()
print(my_tuple)
# tuple dengan 1 elemen
# Output: (1,)
my_tuple = (1,)
print (my_tuple)
# tuple berisi integer
# output = (1, 2, 3)
my_tuple = (1, 2, 3)
print(my_tuple)
# tuple bersarang
# Output: ("hello", [1, 2, 3], (4, 5, 6))
my_tuple = ("hello", [1, 2, 3], (4, 5, 6))
print(my_tuple)
# Tuple bisa tidak menggunakan tanda ()
# Output (1, 2, 3)
my_tuple = 1, 2, 3
# memasukkan anggota tuple ke variabel yang bersesuaian
# a akan berisi 1, b berisi 2, dan c berisi 3
# output 1 2 3
a, b, c = my_tuple
print(a, b, c)
Mengakses Anggota Tuple
Seperti halnya list, kita bisa mengakses anggota tuple lewat indeksnya menggunakan format namatuple[indeks]
. Indeks dimulai dari 0 untuk anggota pertama. Selain itu, indeks negatif juga bisa dipakai mulai dari -1 untuk anggota terakhir tuple.
my_tuple = ('p','y','t','h','o','n')
# Output: 'p'
print(my_tuple[0])
# Output: 'y'
print(my_tuple[1])
# Output: 'n'
print(my_tuple[-1])
# Output: 'o'
print(my_tuple[-2])
# IndexError
print(my_tuple[6])
Sama seperti list, kita bisa mengakses satu range anggota tuple dengan menggunakan operator titik dua ( : ).
my_tuple = ('p','r','o','g','r','a','m','m','i','n','g')
# akses dari indeks 0 s/d 2
# output: ('p','r','o')
print(my_tuple[:3])
# Akses dari indeks 2 s/d 5
# output: ('r','o','g','r')
print(my_tuple[2:6])
# Akses dari indeks 3 sampai akhir
# output: ('r','o','g','r','a','m','m','i','n','g')
print(my_tuple[3:])
Mengubah Anggota Tuple
Setelah tuple dibuat, maka anggota tuple tidak bisa lagi diubah atau dihapus. Akan tetapi, bila anggota tuple-nya adalah tuple bersarang dengan anggota seperti list, maka item pada list tersebut dapat diubah. Jelasnya ada pada contoh berikut:
my_tuple = (2, 3, 4, [5, 6])
# kita tidak bisa mengubah anggota tuple
# bila kita hilangkan tanda komentar # pada baris ke 6
# akan muncul error: # TypeError: 'tuple' object does not support item assignment
# my_tuple[1] = 8
# tapi list di dalam tuple bisa diubah
# output: (2, 3, 4, [7, 6])
my_tuple[3][0] = 7
print(my_tuple)
# tuple bisa diganti secara keseluruhan dengan penugasan kembali
# output: ('p','y','t','h','o','n')
my_tuple = ('p','y','t','h','o','n')
print(my_tuple)
# anggota tuple juga tidak bisa dihapus menggunakan del
# perintah berikut akan menghasilkan error TypeError
# kalau Anda menghilangkan tanda komentar #
#del my_tuple[0]
# kita bisa menghapus tuple keseluruhan
del my_tuple
Menguji Keanggotaan Tuple
Seperti halnya string dan list, kita bisa menguji apakah sebuah objek adalah anggota dari tuple atau tidak, yaitu dengan menggunakan operator in
atau not in
untuk kebalikannya.
my_tuple = (1, 2, 3, 'a', 'b', 'c')
# menggunakan in
# output: True
print('3' in my_tuple)
# output: False
print('e' in my_tuple)
# menggunakan not in
# output True
print('k' not in my_tuple)
Iterasi Pada Tuple
Kita bisa menggunakan for
untuk melakukan iterasi pada tiap anggota dalam tuple.
# output:
# Hi Galih
# Hi Ratna
nama = ('Galih', 'Ratna')
for name in nama:
print('Hi', name)
Metode dan Fungsi Bawaan Tuple
Tuple hanya memiliki dua buah metode yaitu count()
dan index()
.
- Metode
count(x)
berfungsi mengembalikan jumlah item yang sesuai dengan x pada tuple - Metode
index(x)
berfungsi mengembalikan indeks dari item pertama yang sama dengan x.
my_tuple = ('p','y','t','o','n','i','n','d','o')
# count
# output: 2
print(my_tuple.count('n'))
# index
# Output 4
print(my_tuple.index('n'))
Walaupun hanya memiliki dua metode, banyak fungsi bawaan python yang berfungsi untuk melakukan operasi pada tuple. Berikut adalah daftarnya:
Fungsi | Deskripsi |
all() | Mengembalikan True jika semua anggota tuple adalah benar ( tidak ada yang kosong ) |
any() | Mengembalikan True jika salah satu atau semua bernilai benar. Jika tuple kosong, maka akan mengambalikan False. |
enumerate() | Mengembalikan objek enumerasi. Objek enumerasi adalah objek yang terdiri dari pasangan indeks dan nilai. |
len() | Mengembalikan panjang (jumlah anggota) tuple |
max() | Mengembalikan anggota terbesar di tuple |
min() | Mengembalikan anggota terkecil di tuple |
sorted() | Mengambil anggota tuple dan mengembalikan list baru yang sudah diurutkan |
sum() | Mengembalikan jumlah dari semua anggota tuple |
tuple() | Mengubah sequence (list, string, set, dictionary) menjadi tuple |