Apa Perbedaan Antara Daftar dan Tuple?

Diterbitkan: 2021-11-28

Tuple dan daftar adalah jenis struktur data yang digunakan dalam Python. Daftar menyimpan data dalam satu variabel menggunakan tanda kurung siku, sedangkan Tuples menyimpan data dalam satu variabel dengan bantuan tanda kurung. Kedua struktur digunakan untuk menyimpan banyak nilai dan objek.

Artikel ini akan membahas perbedaan utama antara daftar dan Tuple dan menjelajahi kasus penggunaannya. Tapi pertama-tama, mari kita lihat sekilas persamaan inti di antara mereka:

  • Anda dapat menyimpan item dan objek dari semua tipe data baik dalam tupel maupun daftar.
  • Baik tupel maupun daftar memungkinkan data diakses menggunakan indeks masing-masing.
  • Kedua tipe data ini dapat mengkompilasi dan membuat katalog berbagai item data.

Daftar isi

Python Tuple vs Daftar

1. Perbedaan Sintaks

Deklarasi daftar dan tupel selalu berbeda dalam Python. Daftar dideklarasikan menggunakan tanda kurung siku '[]', sedangkan deklarasi tupel dibuat menggunakan '()'.

Berikut adalah contoh untuk lebih memahami cara mendeklarasikan daftar dan tupel dengan Python.

list_num = [7,8,9,10]

tup_num = (10,11,13,14)

cetak(daftar_number)

cetak(tup_num)

Output dari urutan ini adalah.

[7,8,9,10]

(10,11,13,14)

Dalam contoh ini, variabel bernama list_num didefinisikan yang mengakomodasi angka dari 7 hingga 10. Kita juga melihat bahwa output diapit dalam tanda kurung siku. Namun, variabel yang didefinisikan sebagai tup_num dan menyimpan angka dari 10 hingga 14 menampilkan output menggunakan tanda kurung.

Python menggunakan fungsi type() yang membantu kita memahami jenis item yang dibuat.

cetak(ketik(tup_num))

cetak(ketik(jumlah_daftar))

Keluaran:

<kelas 'tupel'>

<kelas 'daftar'>

2. Mutabilitas (Dapat Berubah vs Tidak Dapat Berubah)

Tuple dan daftar saling bertentangan dalam hal mutabilitasnya. Tuple adalah struktur yang tidak dapat diubah yang tidak dapat dimodifikasi atau diubah setelah dibuat. Sebaliknya, daftar adalah struktur yang bisa berubah yang dapat dengan mudah diubah atau dimodifikasi setelah dibuat.

Hanya tupel yang dapat digunakan sebagai kunci kamus karena sifatnya yang tidak dapat diubah. Daftar tidak pernah dapat digunakan sebagai kunci saat diperlukan.

3. Mengubah objek (Daftar vs Tuple)

Mari kita cari tahu apa yang terjadi ketika upaya untuk membuat perubahan dalam daftar dibuat.

nama = [alex, rick, martin]

nama [0] = “roxy”

Catatan : elemen pertama selalu disebut sebagai 0 dan bukan 1.

Sekarang mari kita lihat seperti apa hasilnya setelah perintah berikut:

>>>nama

Keluaran:

[roxy, rick, martin]

Output menunjukkan bagaimana item pertama dalam daftar berubah.

Sekarang mari kita lihat apa yang akan terjadi jika sebuah tuple digunakan.

nama = (alex, rick, martin)

Ketika sebuah item dalam Tuple diubah menggunakan

nama(0) = “roxy”

Outputnya akan menjadi:

TypeError: objek 'tuple' tidak mendukung penetapan item.

Ini berarti struktur data tuple tidak mendukung objek yang diubah kemudian. Oleh karena itu, kita dapat menyimpulkan bahwa hanya daftar yang dapat dimodifikasi dan bukan tupel.

4. Salinan vs Digunakan Kembali

Seseorang tidak dapat menyalin tupel. Alasan di sini adalah sifat tupel yang tidak dapat diubah. Misalnya, jika Anda menjalankan tuple (tup_name), Anda akan melihatnya telah dipulihkan ke dirinya sendiri.

Contoh:

nama = ('allen", "siri", "Michaela")

copyNames = Tuple(nama)

print(nama adalah copyNames)

Outputnya di sini akan menjadi - "Benar".

Sebaliknya, jika Anda mencoba dan melakukan hal yang sama untuk sebuah daftar, (seperti yang diilustrasikan dalam contoh):

Contoh:

nama = [“allen”, “ siri “' “Michaela”]

copyNames = daftar (nama)

print(nama adalah copyNames)

Output akan ditampilkan sebagai "salah".

Anda harus menyalin dan menempelkan nama lengkap ke dalam daftar baru untuk hasil yang benar.

5. Tuple Python vs Daftar | Perbedaan Ukuran

Karena sifat tuple yang tidak dapat diubah, Python hanya mengalokasikan memori tuple dalam bentuk blok besar dengan overhead yang relatif rendah. Untuk daftar, Python hanya menyediakan blok memori dengan ukuran lebih kecil. Akibatnya, Tuple hanya memiliki sedikit memori dibandingkan dengan daftar. Namun, ini berarti bahwa tupel jauh lebih cepat digunakan daripada daftar ketika banyak item terlibat.

6. Heterogen vs Homogen

Tuple dapat menyimpan elemen dari berbagai jenis yang heterogen. Sebaliknya, daftar dapat menyimpan fitur atau data dari varian yang sama yang homogen.

Ini, bagaimanapun, hanya perbedaan semantik. Misalnya, daftar dapat menyimpan data dari berbagai jenis, dan tupel juga dapat menyimpan data dari jenis yang sama.

Contoh:

list_elements = ['allen', 20, 'mary']

tuple_elements = ('alen', “mary”, 'alex')

Kode akan berjalan mulus, meskipun daftar memiliki kombinasi angka dan string.

7. Perbedaan Panjang

Daftar dan tupel juga bervariasi dalam panjang dan ukuran. Sementara tupel bervariasi panjangnya, panjang tupel tetap. Oleh karena itu, ukuran daftar dapat diubah kapan saja, tidak seperti panjang tupel yang tetap setelah ditentukan.

Contoh:

list_names = ['allen', 'mary', 'alex']

list_names.append(“roxy”)

cetak(daftar_nama)

Keluaran:

['allen',' mary',' alex',' roxy']

Keluaran yang tepat juga dapat dicapai dengan menggunakan fungsi insert() alih-alih fungsi append() saat menyangkut daftar.

Namun, struktur data Tuple tidak memberi kami cara untuk mengubah ukurannya.

8. Menggunakan Kasus

Dalam keadaan yang berbeda, setidaknya satu dari struktur data ini berfungsi dengan baik. Biasanya tergantung pada pembuat kode program di mana struktur data digunakan. Struktur data dipilih berdasarkan apakah item data akan ditulis ulang di masa mendatang.

Tuple jauh lebih penting sebagai struktur data jika dibandingkan dengan daftar karena:

  • Menggunakan tupel alih-alih daftar dapat memberi tahu pembuat kode atau juru data untuk tidak mengubah informasi.
  • Anda juga dapat memulihkan data tanpa kunci menggunakan Tuple.
  • Tuple setara dengan kamus di Python.
  • Tuple yang disimpan di dalam daftar sangat mudah dibaca.

Sifat tupel yang tidak dapat diubah dan hashable menjadikannya pengganti yang sempurna untuk kamus. Di sisi lain, Anda tidak dapat menggunakan daftar untuk mengganti kamus karena tidak mendukung fungsi _hash_().

Contoh:

key_val= {('alex', 'brave'):124} #Valid

key_val = {['alex', 'brave']:124} #Tidak valid

9. Daftar Bersarang dan Tuple

Tuple dan daftar dapat disimpan satu sama lain. Tuple yang bersarang dapat menampung lebih banyak tupel. Demikian pula, daftar bersarang juga dapat memiliki lebih banyak daftar.

10. Debug

Tuple jauh lebih mudah untuk di-debug dalam proyek yang lebih luas jika dibandingkan dengan daftar. Ini karena karakteristik tupel yang tidak dapat diubah. Namun, ketika jumlah data yang terlibat jauh lebih kecil, selalu disarankan untuk mengandalkan daftar. Tuple juga lebih mudah dilacak karena tidak dapat diubah, tidak seperti daftar, di mana bug sulit untuk diikuti.

11. Fungsi dan operasi

Python memiliki beberapa fungsi bermanfaat yang dapat diterapkan ke tupel dan daftar, seperti diurutkan, jumlah, semua, min, maks, ramping, dll.

Ketika operasi yang bersangkutan, orang mungkin menemukan banyak kesamaan dalam daftar dan tupel. Namun, daftar memiliki beberapa fungsi tambahan yang tidak ada di tupel. Ini sebagian besar adalah operasi pop dan insert, di samping menghapus dan menyimpan item.

Takeaways Kunci

  • Tuple memiliki fungsionalitas yang lebih sedikit daripada daftar.
  • Struktur tupel tidak dapat diubah, sedangkan struktur daftar dapat diubah.
  • Tuple datang dalam panjang tetap, sedangkan panjang daftar dapat bervariasi.
  • Sintaks daftar diwakili oleh tanda kurung siku “[]”, sedangkan sintaks tupel disajikan dalam bentuk kurung “()”.
  • Tuple mengkonsumsi lebih sedikit memori jika dibandingkan dengan daftar.
  • Struktur data tuple paling baik ketika mengakses elemen yang terlibat.
  • Daftar fungsi lebih baik dalam melakukan operasi penghapusan dan penyisipan tertentu.
  • Iterasi yang terlibat pada tupel lebih cepat daripada yang terlibat pada daftar.
  • Daftar mungkin memiliki beberapa metode yang dibangun, sedangkan Tuple tidak memilikinya.

Pelajari secara mendetail tentang seluk beluk Python dan konsep lanjutannya melalui Master of Science in Data Science selama 18 bulan upGrad program bekerja sama dengan Liverpool John Moores University dan IIIT Bangalore. Dengan fakultas pengajaran terkemuka di industri yang Anda inginkan, 500+ jam materi pembelajaran, dan kelas penyelesaian keraguan, siswa memiliki kesempatan untuk menguasai Python dan dasar-dasar ilmu data lainnya untuk mengarahkan karir mereka sesuai dengan itu. Selain itu, program ini membantu mengembangkan kompetensi di lebih dari 14 bahasa & alat seperti Tableau, MySQL, Excel, MongoDB, dan banyak lagi.

Jadi, jangan ragu. Hubungi kami hari ini!

Kapan menggunakan Tuple atau Daftar?

Jika Anda membutuhkan item data Anda menjadi hanya-baca, maka Anda harus menggunakan tupel. Data tetap konstan dalam tupel karena ketersediaan data yang tidak pernah berubah dijamin.

Daftar, bagaimanapun, sangat bisa berubah. Oleh karena itu, data di dalamnya selalu dapat diubah. Memindahkan, mengganti, menghapus, dan menambahkan item ke daftar sangat fleksibel. Mereka paling baik digunakan ketika data memerlukan modifikasi pada tahap selanjutnya dari siklus program.

Apakah tupel lebih cepat jika dibandingkan dengan daftar?

Ya, membuat Tuple membutuhkan waktu lebih sedikit daripada membuat daftar. Ketika daftar dibuat, lebih dari satu blok memori perlu diakses. Itu karena elemen dalam tupel tidak dapat dihapus dan diganti, sedangkan fitur dalam daftar dapat diubah beberapa kali selama siklus program.

Di mana tupel dan daftar digunakan dalam kehidupan nyata?

Seseorang dapat membuat daftar untuk menyimpan langkah-langkah yang diperlukan untuk memasak hidangan tertentu menggunakan resep tertentu. Daftar ini melibatkan akses berurutan ke data. Oleh karena itu, seseorang dapat mengakses langkah-langkahnya secara berurutan. Di sisi lain, Tuples dapat digunakan untuk menyimpan data seperti garis bujur atau garis lintang tempat tinggal Anda. Ini karena tuple adalah kumpulan data yang telah ditentukan sebelumnya. Anda juga dapat menggunakan tupel yang sama untuk menyimpan koordinat lokasi tempat lain.