Set
Koleksi unik tanpa urutan dengan operasi himpunan.
Pahami konsepnya
Set adalah koleksi yang otomatis menghilangkan duplikat: set([1, 2, 2, 3, 3, 3]) menjadi {1, 2, 3}. Tanpa indeks (karena tidak terurut), tidak bisa di-slice, tapi punya operasi himpunan yang powerful: union | , intersection & , difference - , symmetric difference ^.
Deklarasi dengan kurung kurawal: s = {1, 2, 3} atau set() untuk kosong ({} kosong membuat dict!). add() menambah, remove/discard menghapus (remove error bila tidak ada, discard diam). in sangat cepat pada set — O(1) dibanding O(n) pada list.
Use case klasik: menghilangkan duplikat dari list (list(set(daftar))), menguji keanggotaan cepat, dan operasi himpunan seperti "angka yang ada di A tapi tidak di B" — satu baris: a - b.
Coba contoh kode
a = {1, 2, 3, 4, 5}
b = {4, 5, 6, 7, 8}
print(a | b) # union: semua
print(a & b) # intersection: sama
print(a - b) # difference: di A saja
print(a ^ b) # symmetric: bukan keduanya
# deduplikasi
data = [1, 2, 2, 3, 3, 3, 4]
unik = list(set(data))
print(unik) # [1, 2, 3, 4]
# keanggotaan cepat
print(3 in a) # TrueEmpat operasi himpunan dalam empat baris: | gabungan, & irisan, - selisih, ^ simetris. list(set(data)) adalah idiom satu baris untuk menghilangkan duplikat dari list.
Latihan singkat
Uji: irisan {1,2,3,4} dan {3,4,5,6} — harus `{3, 4}`.