Pelajari Struktur Data Set Python/Frozenset – Bagian 4


Dalam Bagian 4 seri Struktur Data Python ini, kita akan membahas apa itu himpunan, perbedaannya dengan struktur data lain di python, cara membuat objek himpunan, menghapus objek himpunan, dan metode objek himpunan .

  • Objek set adalah kumpulan objek hashable berbeda yang tidak berurutan.
  • Set secara otomatis menghapus item duplikat dari objek.
  • Karena objek yang disetel tidak berurutan, tidak ada operasi pengindeksan dan pemotongan yang didukung.

Saat ini ada dua tipe set bawaan.

  1. set – Karena dapat diubah, ia tidak memiliki nilai hash dan tidak dapat digunakan sebagai kunci kamus atau sebagai elemen dari kumpulan lainnya.
  2. frozenset – Tidak dapat diubah dan dapat di-hash – isinya tidak dapat diubah setelah dibuat; Oleh karena itu, ia dapat digunakan sebagai kunci kamus atau sebagai elemen dari himpunan lain.

Membangun Objek Set

Buat himpunan menggunakan metode konstruktor “set()” atau gunakan kurung kurawal dengan pemisah koma “{a,b,c}”.

CATATAN: Anda tidak dapat membuat objek kumpulan melalui kurung kurawal kosong karena akan membuat objek kamus.

Tetapkan Metode

Gunakan fungsi “dir()” bawaan untuk membuat daftar metode dan atribut kumpulan yang tersedia.

Tambahkan Elemen ke Objek Set

Seperti yang telah dinyatakan, set adalah tipe yang bisa berubah. Anda dapat menambah, menghapus, memperbarui objek set Anda setelah dibuat.

Mari kita bahas tentang dua set metode tambah dan perbarui.

  • metode add(elem) – Metode ini menambahkan satu elemen ke objek kumpulan.
  • metode pembaruan(*lainnya) – Metode ini menambahkan beberapa elemen ke objek kumpulan. Anda dapat meneruskan objek yang dapat diubah/tidak dapat diubah sebagai argumen dalam metode pembaruan.

CATATAN: Duplikat akan dihapus secara otomatis.

Hapus/Hapus Elemen Dari Objek yang Ditetapkan

Seperti yang telah Anda lihat sebelumnya di topik struktur data lainnya (daftar, tupel, kamus), untuk set juga Anda dapat menggunakan kata kunci bawaan “del” untuk menghapus objek set dari namespace (yaitu Memori).

Di bawah ini adalah metode mengatur objek untuk menghapus elemen.

  • clear() – Akan menghapus semua elemen yang membuat himpunan menjadi kosong. Metode clear() ini tersedia di struktur data lain yang menyediakan fungsi yang sama.
  • pop() – Menghapus elemen arbitrer.
  • discard(elem) – Jika item tidak ditemukan di objek set maka metode “discard()” tidak akan menimbulkan kesalahan apa pun.
  • remove(elem) – Sama seperti metode “discard()” tetapi akan memunculkan KeyError ketika item tidak ditemukan.

Tetapkan Operasi

Set menyediakan metode untuk melakukan operasi matematika seperti perpotongan, gabungan, selisih, dan selisih simetris. Ingat “Diagram Venn” dari masa SMA Anda?

Kita akan melihat metode di bawah ini tentang bagaimana operasi matematika dilakukan.

  • Persatuan
  • persimpangan
  • persimpangan_update
  • perbedaan_simetris
  • pembaruan_perbedaan_simetris
  • perbedaan
  • perbedaan_pembaruan
  • adalah terputus-putus
  • issubset
  • adalahsuperset

Persatuan, Perpotongan, Perbedaan, Perbedaan_Simetris

  • union(*other) – Mengembalikan kumpulan baru dengan elemen dari kumpulan tersebut dan yang lainnya.
  • intersection(*other) – Mengembalikan himpunan baru dengan elemen yang sama dengan himpunan tersebut dan elemen lainnya.
  • difference(*others) – Mengembalikan himpunan baru dengan elemen di himpunan yang tidak ada di himpunan lainnya.
  • perbedaan_simetris(lainnya) – Mengembalikan himpunan baru dengan elemen di himpunan tersebut atau yang lain, tetapi tidak keduanya.

Persimpangan_Pembaruan

intersection_update(*others) – Perbarui kumpulan, pertahankan hanya elemen yang ditemukan di dalamnya dan elemen lainnya.

Pembaruan Perbedaan

difference_update(*others) – Perbarui kumpulan, pertahankan hanya elemen yang ditemukan di dalamnya dan yang lainnya.

Pembaruan_Perbedaan_Simetris

symmetric_difference_update(other) – Perbarui kumpulan, jagalah hanya elemen yang ditemukan di salah satu kumpulan, namun tidak di keduanya.

Isdisjoint, Issubset, Issuperset

  • isdisjoint(other) – Mengembalikan True jika himpunan tidak memiliki elemen yang sama dengan lainnya. Himpunan-himpunan tersebut saling lepas jika dan hanya jika perpotongannya merupakan himpunan kosong.
  • issubset() – Uji apakah setiap elemen di kumpulan ada di yang lain.
  • issuperset() – Uji apakah setiap elemen di yang lain ada dalam himpunan.

Salin() Metode

Anda dapat membuat salinan identik dari objek kumpulan yang ada menggunakan metode copy(). Metode ini juga tersedia untuk tipe struktur data lain seperti daftar, kamus, dll…

Hapus objek set dari namespace menggunakan kata kunci “del” bawaan.

Set Beku

  • Kumpulan beku adalah tipe yang tidak dapat diubah. Setelah dibuat, Anda tidak dapat menambah, menghapus, atau memperbarui elemen dari daftar.
  • Kumpulan beku yang tidak dapat diubah dapat di-hash, dapat digunakan sebagai "kunci" untuk kamus atau elemen untuk objek kumpulan lainnya.
  • Set beku dibuat menggunakan fungsi “frozenset()”.
  • Kumpulan beku menyediakan kumpulan metode yang sama dibandingkan dengan "set" seperti union(), persimpangan, copy(), isdisjoint() dll.

Ringkasan

Dalam artikel ini Anda telah melihat apa yang dimaksud dengan himpunan, perbedaan antara himpunan dan himpunan beku, cara membuat dan mengakses elemen himpunan, metode himpunan, dll…