Union, intersection, difference, and symmetric difference

Sets in Python

Dadan Dahman W.
Howdy Sysinfo
3 min readMar 2, 2022

--

image by author

Python mempunyai tipe data set. Set (himpunan) adalah kumpulan data yang tidak berurutan tanpa elemen duplikat, jika kita memasukkan nilai yang sudah ada pada suatu set, maka nilai tersebut hanya akan muncul atau dimasukkan 1 kali saja. Set bersifat unordered yang artinya tidak berurut, maka kita tidak dapat mengakses item menggunakan indeks seperti yang biasa kita lakukan pada list. Set bersifat unchangable, yang berarti bahwa nilai yang sudah kita masukkan ke dalam set, tidak bisa kita ubah lagi namun kita masih bisa menambah maupun menghapus anggota pada set.

Keuntungan utama menggunakan set, sebagai lawan dari list, yaitu bahwa ia memiliki metode yang sangat dioptimalkan untuk memeriksa apakah elemen tertentu terkandung dalam set. Ini didasarkan pada struktur data yang dikenal sebagai hash table.

Beberapa fungsi unik yang ada pada set. Di antaranya:

  • Fungsi union (gabungan)
  • Fungsi intersection (irisan)
  • Fungsi difference (selisih)
  • Fungsi symmetric difference (komplement)

Union (gabungan)

Dua set dapat digabungkan menggunakan fungsi union() atau | operator. Kedua nilai Tabel Hash diakses dan dilalui dengan operasi penggabungan yang dilakukan untuk menggabungkan elemen, pada saat yang sama duplikat dihapus.

melakukan union menggunakan fungsi union()

melakukan union menggunakan operator |

Intersection (irisan)

Intersection sama halnya dengan irisan, yaitu kita mengambil data dari angka genap yang juga merupakan anggota ganjil. Kata dapat dilakukan melalui fungsi intersection() atau& operator.

melakukan intersection menggunakan fungsi intersection()

Keluaran dari set() menyatakan bahwasannya tidak ada anggota ganjil yang merupakan anggota genap juga.

Kita akan melakukan intersection ganjil dengan anggota prima.

melakukan Intersection menggunakan operator &

Difference (selisih)

Difference atau selisih adalah proses mengekstrak anggota grup pertama, yang bukan anggota grup kedua. kita dapat melakukannya dengan menggunakan fungsi difference() atau operator.

melakukan difference menggunakan fungsi difference()

melakukan difference menggunakan operator -

Symmetric Difference (Komplemen)

Bedanya dengan difference, symmetric difference akan menghasilkan anggota-anggota dari kedua grup, yang mana tiap anggota tersebut hanya menjadi anggota dari satu grup saja. Kita dapat menggunakan fungsi symmetric_difference() atau ^ operator.

melakukan symmetric difference menggunakan fungsi symmetric_difference() bilangan ganjil dengan prima.

melakukan symmetric difference menggunakan fungsi symmetric_difference() bilangan genap dengan prima.

melakukan symmetric difference menggunakan operator ^

--

--