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)

Coba di IDE

Output:

Bandung
{'nama': 'Ani', 'kota': 'Bandung'}

Contoh Lainnya

Nilai lama tidak ditimpa

profil = {"kota": "Surabaya"}

hasil = profil.setdefault("kota", "Bandung")
print(hasil)
print(profil)

Coba di IDE

Output:

Surabaya
{'kota': 'Surabaya'}

Default otomatis None

pengaturan = {}

hasil = pengaturan.setdefault("tema")
print(hasil)
print(pengaturan)

Coba di IDE

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)

Coba di IDE

Output:

{'buah': ['apel', 'mangga'], 'minum': ['susu']}

Kesalahan Umum

  • setdefault() tidak menimpa nilai yang sudah ada. Gunakan assignment atau update() jika memang ingin mengganti.
  • Tanpa argumen default, kunci baru mendapat nilai None.
  • Jika hanya ingin membaca tanpa menambah kunci, gunakan get().

Pelajari Lebih Lanjut