Daftar Python vs. Tupel (Dengan Contoh)

Pada artikel ini kita akan mempelajari perbedaan utama antara List dan Tuple serta cara menggunakan kedua struktur data ini.

List dan Tuple menyimpan satu atau lebih objek atau nilai dalam urutan tertentu. Objek yang disimpan dalam daftar atau tuple dapat berupa jenis apa pun termasuk jenis tidak ada yang ditentukan oleh Kata Kunci Tidak Ada.

List dan Tuple serupa di sebagian besar konteks tetapi ada beberapa perbedaan yang akan kita temukan di artikel ini.

Perbedaan Sintaks

Sintaks daftar dan tupel sedikit berbeda. Daftar dikelilingi oleh tanda kurung siku ()dan Tupel dikelilingi oleh tanda kurung ().

Contoh 1.1: Membuat List vs. Membuat Tuple

 list_num = (1,2,3,4) tup_num = (1,2,3,4) print(list_num) print(tup_num)

Keluaran:

 (1,2,3,4) (1,2,3,4)

Di atas, kami mendefinisikan variabel yang disebut list_num yang menyimpan daftar angka dari 1hingga 4. Daftar tersebut dikelilingi oleh tanda kurung (). Juga, kami mendefinisikan variabel tup_num; yang berisi tupel nomor dari 1hingga 4. Tupel tersebut dikelilingi oleh tanda kurung ().

Di python kami memiliki type()fungsi yang memberikan jenis objek yang dibuat.

Contoh 1.2: Temukan tipe struktur data menggunakan fungsi type ()

 type(list_num) type(tup_num)

Keluaran:

 daftar tupel

Daftar Berubah vs Tupel yang Tidak Dapat Diubah

List memiliki sifat yang dapat berubah yaitu list dapat diubah atau dimodifikasi setelah dibuat sesuai dengan kebutuhan sedangkan tuple bersifat tidak berubah yaitu tupel tidak dapat diubah atau dimodifikasi setelah dibuat.

Contoh 2.1: Memodifikasi Daftar item vs. Tuple

 list_num(2) = 5 print(list_num) tup_num(2) = 5

Keluaran:

 (1,2,5,4) Traceback (panggilan terakhir terakhir): File "python", baris 6, di TypeError: objek 'tuple' tidak mendukung penetapan item

Dalam kode di atas kami menetapkan 5ke list_num di indeks 2dan kami menemukan 5di indeks 2dalam output. Juga, kami menetapkan 5ke tup_num di indeks 2dan kami mendapatkannya type error. Kami tidak dapat memodifikasi tupel karena sifatnya yang tidak dapat diubah.

Catatan: Karena tupel tidak dapat diubah, ukurannya tetap dan ukurannya bervariasi.

Operasi yang Tersedia

Daftar memiliki lebih banyak fungsi bawaan daripada tupel. Kita dapat menggunakan dir((object))fungsi inbuilt untuk mendapatkan semua fungsi terkait untuk list dan tuple.

Contoh 3.1: Direktori Daftar

 dir(list_num)

Keluaran:

('__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__ __gt__ ',' __hash__ ',' __iadd__ ',' __imul__ ',' __init__ ',' __init_subclass__ ',' __iter__ ',' __le__ ',' __len__ ',' __lt__ ',' __mul__ ',' __ne__ ' , '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'tambahkan', 'hapus' salin ',' hitung ',' perpanjang ',' indeks ','masukkan ',' pop ',' remove ',' reverse ',' sort ')

Contoh 3.2: Direktori Tuple

 dir(tup_num)

Keluaran:

 ('__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnew __gt__ ',' __hash__ ',' __init__ ',' __init_subclass__ ',' __iter__ ',' __le__ ',' __len__ ',' __lt__ ',' __mul__ ',' __ne__ ',' __new__ ',' __reduce____ , '__repr__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'count', 'indeks')

Kita dapat melihat dengan jelas bahwa, ada begitu banyak fungsi tambahan yang terkait dengan daftar di atas tuple. Kita dapat melakukan operasi penyisipan dan pop, menghapus dan menyortir elemen dalam daftar dengan fungsi bawaan yang tidak tersedia di Tuple.

Perbandingan Ukuran

Operasi Tuple memiliki ukuran yang lebih kecil daripada list, yang membuatnya sedikit lebih cepat tetapi tidak terlalu banyak untuk disebutkan sampai Anda memiliki sejumlah besar elemen.

Contoh 5.1: Hitung ukuran List vs. Tuple

 a= (1,2,3,4,5,6,7,8,9,0) b= (1,2,3,4,5,6,7,8,9,0) print('a=',a.__sizeof__()) print('b=',b.__sizeof__())

Keluaran:

 a = 104 b = 120

Pada kode di atas kita memiliki tuple a dan list b dengan item yang sama tetapi ukuran tuple lebih kecil dari daftar.

Kasus Penggunaan yang Berbeda

Pada pandangan pertama, sepertinya list selalu dapat menggantikan tupel. Tetapi tupel adalah struktur data yang sangat berguna

  1. Menggunakan tuple sebagai pengganti list dapat memberikan petunjuk kepada programmer dan interpreter bahwa data tidak boleh diubah.
  2. Tuple biasanya digunakan sebagai padanan kamus tanpa kunci untuk menyimpan data. Sebagai contoh,
     (('Swordfish', 'Dominic Sena', 2001), ('Snowden', 'Oliver Stone', 2016), ('Taxi Driver', 'Martin Scorsese', 1976))
    Contoh di atas berisi tuple inside list yang memiliki daftar film.
  3. Membaca data lebih mudah ketika tupel disimpan di dalam daftar. Sebagai contoh,
     ((2,4), (5,7), (3,8), (5,9))
    lebih mudah dibaca daripada
     ((2,4), (5,7), (3,8), (5,9))

Tuple juga dapat digunakan sebagai kunci dalam kamus karena sifatnya yang tidak dapat diubah dan tidak dapat diubah sedangkan Daftar tidak digunakan sebagai kunci dalam kamus karena daftar tidak dapat menangani __hash__()dan memiliki sifat yang dapat berubah.

 key_val= (('alpha','bravo'):123) #Valid key_val = (('alpha','bravo'):123) #Invalid 

Poin utama yang perlu diingat:

  1. Sintaks literal tupel ditunjukkan dengan tanda kurung ()sedangkan sintaks literal daftar ditunjukkan dengan tanda kurung siku ().
  2. Daftar memiliki panjang variabel, tupel memiliki panjang tetap.
  3. List memiliki sifat yang dapat berubah, tupel memiliki sifat yang tidak dapat diubah.
  4. List memiliki lebih banyak fungsi daripada tupel.

Artikel yang menarik...