← Kembali ke kursus
Pelajaran kursus · Python
Pelajaran 15

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)  # True

Empat 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}`.