dik

dict adalah jenis bawaan yang mewakili pemetaan asosiatif atau kamus. Kamus mendukung pengindeksan menggunakan d[k] dan pengujian keanggotaan kunci menggunakan k in d; kedua operasi memerlukan waktu konstan. Kamus yang tidak dibekukan dapat diubah, dan dapat diperbarui dengan menetapkan ke d[k] atau dengan memanggil metode tertentu. Kamus dapat diulang; iterasi menghasilkan urutan kunci dalam urutan penyisipan. Urutan iterasi tidak terpengaruh oleh pembaruan nilai yang terkait dengan kunci yang ada, tetapi terpengaruh oleh penghapusan, lalu penyisipan kembali kunci.
d = {0: 0, 2: 2, 1: 1}
[k for k in d]  # [0, 2, 1]
d.pop(2)
d[0], d[2] = "a", "b"
0 in d, "a" in d  # (True, False)
[(k, v) for k, v in d.items()]  # [(0, "a"), (1, 1), (2, "b")]

Ada empat cara untuk membuat kamus:

  1. Ekspresi kamus {k: v, ...} menghasilkan kamus baru dengan entri kunci/nilai yang ditentukan, yang disisipkan dalam urutan yang muncul dalam ekspresi. Evaluasi gagal jika dua ekspresi kunci menghasilkan nilai yang sama.
  2. Pemahaman kamus {k: v for vars in seq} menghasilkan kamus baru yang setiap pasangan kunci/nilai disisipkan ke dalamnya dalam urutan iterasi loop. Duplikat diizinkan: penyisipan pertama kunci tertentu menentukan posisinya dalam urutan, dan yang terakhir menentukan nilai terkaitnya.
    {k: v for k, v in (("a", 0), ("b", 1), ("a", 2))}  # {"a": 2, "b": 1}
    {i: 2*i for i in range(3)}  # {0: 0, 1: 2, 2: 4}
    
  3. Panggilan ke fungsi dict bawaan menampilkan kamus yang berisi entri yang ditentukan, yang disisipkan dalam urutan argumen, argumen posisional sebelum argumen bernama. Seperti pemahaman, kunci duplikat diizinkan.
  4. Ekspresi gabungan x | y menghasilkan kamus baru dengan menggabungkan dua kamus yang ada. Jika kedua kamus memiliki kunci k yang sama, nilai kunci kamus sisi kanan (dengan kata lain, y[k]) akan menang. Varian |= dari operator gabungan mengubah kamus di tempat. Contoh:
    d = {"foo": "FOO", "bar": "BAR"} | {"foo": "FOO2", "baz": "BAZ"}
    # d == {"foo": "FOO2", "bar": "BAR", "baz": "BAZ"}
    d = {"a": 1, "b": 2}
    d |= {"b": 3, "c": 4}
    # d == {"a": 1, "b": 3, "c": 4}

Anggota

hapus

None dict.clear()

Menghapus semua item dari kamus.

get

unknown dict.get(key, default=None)

Menampilkan nilai untuk key jika key ada dalam kamus, atau default. Jika default tidak diberikan, nilai defaultnya adalah None, sehingga metode ini tidak pernah menampilkan error.

Parameter

Parameter Deskripsi
key wajib diisi
Kunci yang akan dicari.
default default adalah None
Nilai default yang akan digunakan (bukan None) jika kunci tidak ditemukan.

item

list dict.items()

Menampilkan daftar tuple kunci-nilai:
{2: "a", 4: "b", 1: "c"}.items() == [(2, "a"), (4, "b"), (1, "c")]

keys

list dict.keys()

Menampilkan daftar kunci:
{2: "a", 4: "b", 1: "c"}.keys() == [2, 4, 1]

pop

unknown dict.pop(key, default=unbound)

Menghapus key dari dict, dan menampilkan nilai terkait. Jika tidak ada entri dengan kunci tersebut yang ditemukan, jangan hapus apa pun dan tampilkan nilai default yang ditentukan; jika tidak ada nilai default yang ditentukan, akan gagal.

Parameter

Parameter Deskripsi
key wajib diisi
Kunci.
default default adalah unbound
nilai default jika kunci tidak ada.

popitem

tuple dict.popitem()

Menghapus dan menampilkan pasangan (key, value) pertama dari kamus. popitem berguna untuk melakukan iterasi destruktif pada kamus, seperti yang sering digunakan dalam algoritma set. Jika kamus kosong, panggilan popitem akan gagal.

setdefault

unknown dict.setdefault(key, default=None)

Jika key ada dalam kamus, tampilkan nilainya. Jika tidak, sisipkan kunci dengan nilai default dan tampilkan default. default secara default adalah None.

Parameter

Parameter Deskripsi
key wajib diisi
Kunci.
default default adalah None
nilai default jika kunci tidak ada.

update

None dict.update(pairs=[], **kwargs)

Memperbarui kamus terlebih dahulu dengan argumen posisional opsional, pairs, lalu dengan argumen kata kunci opsional Jika argumen posisional ada, argumen tersebut harus berupa dict, iterable, atau None. Jika berupa dict, pasangan kunci/nilainya akan disisipkan ke dalam dict ini. Jika dapat diulang, harus menyediakan urutan pasangan (atau iterable lain dengan panjang 2), yang masing-masing diperlakukan sebagai pasangan kunci/nilai yang akan disisipkan. Setiap argumen kata kunci name=value menyebabkan pasangan nama/nilai disisipkan ke dalam dict ini.

Parameter

Parameter Deskripsi
pairs default adalah []
Kamus atau daftar entri. Entri harus berupa tuple atau daftar dengan tepat dua elemen: kunci, nilai.
kwargs wajib diisi
Kamus entri tambahan.

nilai

list dict.values()

Menampilkan daftar nilai:
{2: "a", 4: "b", 1: "c"}.values() == ["a", "b", "c"]