15%

Pengertian Tuple Pada Python dan Kecepatannya

04-Oct-2019

 

Pada artikel sebelumnya kita sudah membahas apa itu list pada python 🐍. Ada tipe data yang mirip dengan list yaitu Tuple. Jika dalam sebuah variabel kita dapat menimpan banyak data menggunakan tipe data list maka kita juga dapat menggunakan tuple. Lantas apa beda list dan tuple ?

Tuple Python

Tuple adalah urutan objek yang dapat menampung banyak nilai sama seperti list, perbedaannya adalah jika list dapat ditambah, dikurangi dan diganti Tuple tidak dapat melakukan itu atau immutable.

 

List nilainya dapat ditambah, dikurangi dan diganti sedangkan tuple tidak dapat diubah (immutable), List menggunakan [] sedangkan Tuple menggunakan ().

 

Dari uraian diatas maka tentu kita akan berpikir akan menggunakan list daripada tuple karena list nilainya dapat diubah sedangkan tuple tidak.

Perhatikan contoh dibawah ini :

>>> import timeit

>>> timeit.timeit('list_saya = [1,2,3,4,5,6,7,8,9,10]')

0.4249441970000021

>>> timeit.timeit('tuple_saya = (1,2,3,4,5,6,7,8,9,10)')

0.0721837510000114

Diatas adalah uji coba kecepatan antara list dan tuple, dari segi kecepatan tuple jauh lebih cepat dibandingkan dengan list

 

 

 

 

Dari diagram diatas tampak jauh sekali perbedaan kecepatan, tentu saja untuk skala data yang sangat kecil proses tersebut tidak dapat dirasakan.

Lantas, untuk kondisi bagaimana kita akan menggunakan tuple ?

Seperti yang telah kita uraikan diatas, kita akan menggunakan tuple untuk nilainya yang tidak akan diubah, sebagai contoh nama hari, bulan .

>>> hari = ('minggu','senin','selasa','rabu','kamis','jumat','sabtu')

>>> print(hari)

('minggu', 'senin', 'selasa', 'rabu', 'kamis', 'jumat', 'sabtu')

Tuple juga mendukung indexing dan slicing

>>> hari = ('minggu','senin','selasa','rabu','kamis','jumat','sabtu')

>>> print(hari)

('minggu', 'senin', 'selasa', 'rabu', 'kamis', 'jumat', 'sabtu')

>>> print(hari[1])

senin

>>> print(hari[-1])

sabtu

>>> print(hari[1::3])

('senin', 'kamis')

>>> print(hari[1::2])

('senin', 'rabu', 'jumat')

>>> print(hari[1::1])

('senin', 'selasa', 'rabu', 'kamis', 'jumat', 'sabtu')

Tuple juga dapat melakukan urutan pembalikan atau mundur

>>> hari = ('minggu','senin','selasa','rabu','kamis','jumat','sabtu')

>>> print(hari)

('minggu', 'senin', 'selasa', 'rabu', 'kamis', 'jumat', 'sabtu')

>>> print(hari[::-1])

('sabtu', 'jumat', 'kamis', 'rabu', 'selasa', 'senin', 'minggu')

 

Tuple menggunakan tanda kurung (), tetapi jika ingin mengindex dan slicing Anda harus menggunakan kurung siku [] sama seperti halnya list.

 

 

Tuple Sebagai Pembungkus Variabel dan Pembuka Variabel

Seperti kita lihat tuple sudah terisi beberapa item yaitu nama-nama hari kedalam variabel hari yang ditugaskan menjadi satu objek.

>>> hari = ('minggu','senin','selasa','rabu','kamis','jumat','sabtu')

Jika kita perhatikan kode diatas maka logikanya minggu dikemas hari, senin dikemas hari dan seterusnya.

Dengan begitu kita dapat membungkusnya kedalam variabel baru. perhatikan contoh berikut:

>>> hari = ('minggu','senin','selasa','rabu','kamis','jumat','sabtu')
>>> (h1,h2,h3,h4,h5,h6,h7) = hari

>>> print(h1)

minggu

>>> print(h5)

kamis

>>> print(h1)

minggu

>>> print(h2)

senin

>>> print(h3)

selasa

>>> print(h4)

rabu

>>> print(h5)

kamis

>>> print(h6)

jumat

>>> print(h7)

sabtu

 

Harap diperhatikan, jumlah variabel baru harus sama dengan jumlah item yang berda di tuple, jika tidak akan menyebabkan error.

 

>>> (h1,h2,h3,h4,h5,h6) = hari

Traceback (most recent call last):

  File "<stdin>", line 1, in <module>

ValueError: too many values to unpack (expected 6)

 

Dengan kata lain elemen atau isi dari tuple setelah dibungkus kedalam variabel baru maka nilainya dapat kita ubah.

Kesimpulan

Tuple adalah salah satu tipe data yang wajib kita pahami sebelum memulai mengerjakan aplikasi atau program kita, Ingat semakin kuat pondasi atau kuda-kuda maka akan susah untuk terjatuh.

Selanjutnya

Masih ada beberapa tipe data lain yang mendasar harus dipahami seperti dictionary tipe data yang tidak diurutkan, Set elemen yang tidak terurut dan bersifat unik serta Boolean logika benar atau salah. 

Topik : python

Artikel yang mungkin Anda suka