Daftar Referensi Python
setdefault() mengambil nilai sebuah kunci. Jika kuncinya belum ada, method ini menambahkan kunci beserta nilai default lalu mengembalikan nilai tersebut.
Sintaks
nama_dict.setdefault(kunci, default)
Parameter
| Parameter | Wajib? | Keterangan |
|---|---|---|
kunci |
Ya | Kunci yang nilainya ingin diambil atau dibuat |
default |
Tidak | Nilai untuk kunci baru. Default None |
Nilai balik: nilai lama jika kunci sudah ada, atau nilai default yang baru dimasukkan.
Contoh
profil = {"nama": "Ani"}
kota = profil.setdefault("kota", "Bandung")
print(kota)
print(profil)
Output:
Bandung
{'nama': 'Ani', 'kota': 'Bandung'}
Contoh Lainnya
Nilai lama tidak ditimpa
profil = {"kota": "Surabaya"}
hasil = profil.setdefault("kota", "Bandung")
print(hasil)
print(profil)
Output:
Surabaya
{'kota': 'Surabaya'}
Default otomatis None
pengaturan = {}
hasil = pengaturan.setdefault("tema")
print(hasil)
print(pengaturan)
Output:
None
{'tema': None}
Mengelompokkan data ke dalam list
barang = [("buah", "apel"), ("minum", "susu")]
barang.append(("buah", "mangga"))
kelompok = {}
for kategori, nama in barang:
kelompok.setdefault(kategori, []).append(nama)
print(kelompok)
Output:
{'buah': ['apel', 'mangga'], 'minum': ['susu']}
Kesalahan Umum
setdefault()tidak menimpa nilai yang sudah ada. Gunakan assignment atauupdate()jika memang ingin mengganti.- Tanpa argumen default, kunci baru mendapat nilai
None. - Jika hanya ingin membaca tanpa menambah kunci, gunakan
get().
Pelajari Lebih Lanjut
- Referensi: get() Dictionary · update() Dictionary · Dictionary di Python
- Buku Belajar Python untuk Pemula: Bab 13
