Daftar Referensi Python
remove() dan discard() sama-sama menghapus satu anggota set — bedanya saat anggota itu tidak ada: remove() melempar KeyError, discard() diam saja. Pilih sesuai kebutuhan: tegas atau permisif.
Sintaks
nama_set.remove(anggota) # tidak ada -> KeyError
nama_set.discard(anggota) # tidak ada -> aman
remove() vs discard()
| Situasi | remove() |
discard() |
|---|---|---|
| Anggota ada | terhapus | terhapus |
| Anggota tidak ada | KeyError |
tidak terjadi apa-apa |
Contoh
buah = {"apel", "jeruk", "mangga"}
buah.remove("jeruk")
print(sorted(buah))
Output:
['apel', 'mangga']
Contoh Lainnya
discard(): aman walau tidak ada
buah = {"apel"}
buah.discard("durian") # tidak ada, tapi aman
print(sorted(buah))
Output:
['apel']
remove(): tangkap error-nya bila perlu
buah = {"apel"}
try:
buah.remove("durian")
except KeyError:
print("durian tidak ada di set")
Output:
durian tidak ada di set
Kesalahan Umum
- Memakai
remove()padahal keberadaan anggota tidak pasti — pakaidiscard()atau cek dulu denganin. set.pop()menghapus anggota sembarang (bukan “yang terakhir”) — jangan samakan denganpop()milik list.- Menghapus anggota sambil me-loop set yang sama →
RuntimeError— loop salinannya:for x in set(buah):.
Pelajari Lebih Lanjut
- Referensi: Set di Python · add() di Python · in di Python
- Buku Belajar Python untuk Pemula: Bab 13
