Tuple
Tuple mirip dengan list. Bedanya, tuple bersifat immutable, sehingga anggotanya tidak mampu diubah. Kalau mirip, mengapa harus menggunakan tuple?
Kita menggunakan tuple tergantung kebutuhan. Untuk beberapa hal, tuple memiliki kelebihan sebagai berikut:
- Karena tuple yakni immutable, maka iterasi pada tuple lebih cepat dibandingkan list.
- Tuple mampu berisi anggota yang immutable yang mampu dipakai sebagai key untuk dictionary. List tidak mampu dipakai untuk itu.
- Kalau kita memerlukan data yang memang tidak untuk diubah, maka menggunakan tuple mampu 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 bekerjsama hanya opsional, tapi kita sebaiknya tetap menggunakannya untuk fasilitas pembacaan kode.
Tuple mampu 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 mampu 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 mampu mengakses anggota tuple lewat indeksnya menggunakan format namatuple[indeks]
. Indeks dimulai dari 0 untuk anggota pertama. Selain itu, indeks negatif juga mampu 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 mirip list, kita mampu mengakses satu range anggota tuple dengan menggunakan operator titik dua ( : ).
my_tuple = ('p','r','o','g','r','a','m','m','i','n','g')
# jalan masuk 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 selesai
# 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 mampu lagi diubah atau dihapus. Akan tetapi, bila anggota tuple-nya yakni tuple bersarang dengan anggota mirip list, maka item pada list tersebut mampu diubah. Jelasnya ada pada pola berikut:
my_tuple = (2, 3, 4, [5, 6])
# kita tidak mampu 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 mampu diubah
# output: (2, 3, 4, [7, 6])
my_tuple[3][0] = 7
print(my_tuple)
# tuple mampu 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 mampu dihapus menggunakan del
# perintah berikut akan menghasilkan error TypeError
# kalau Anda menghilangkan tanda komentar #
#del my_tuple[0]
# kita mampu menghapus tuple keseluruhan
del my_tuple
Menguji Keanggotaan Tuple
Seperti halnya string dan list, kita mampu menguji apakah sebuah objek yakni anggota dari tuple atau tidak, yakni 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 mampu 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 yakni 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 yakni daftarnya:
Fungsi | Deskripsi |
all() | Mengembalikan True jikalau semua anggota tuple yakni benar ( tidak ada yang kosong ) |
any() | Mengembalikan True jikalau salah satu atau semua bernilai benar. Jika tuple kosong, maka akan mengambalikan False. |
enumerate() | Mengembalikan objek enumerasi. Objek enumerasi yakni 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 |