dict adalah jenis bawaan yang merepresentasikan pemetaan asosiatif atau kamus. Kamus mendukung pengindeksan menggunakan d[k]
dan pengujian keanggotaan kunci menggunakan k in d
; kedua operasi ini memerlukan waktu yang konstan. Kamus yang tidak dibekukan dapat diubah, dan dapat diperbarui dengan menetapkan ke d[k]
atau dengan memanggil metode tertentu. Kamus dapat diiterasi; 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: "x", 2: "z", 1: "y"} [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, "y"), (2, "b")]
Ada empat cara untuk membuat kamus:
- Ekspresi kamus
{k: v, ...}
menghasilkan kamus baru dengan entri kunci/nilai yang ditentukan, yang dimasukkan dalam urutan kemunculannya dalam ekspresi. Evaluasi gagal jika ada dua ekspresi kunci yang menghasilkan nilai yang sama. - Pemahaman kamus
{k: v for vars in seq}
menghasilkan kamus baru yang memasukkan setiap pasangan kunci/nilai 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}
- Panggilan ke fungsi dict bawaan menampilkan kamus yang berisi entri yang ditentukan, yang dimasukkan dalam urutan argumen, argumen posisi sebelum argumen bernama. Seperti halnya comprehension, kunci duplikat diizinkan.
- Ekspresi gabungan
x | y
menghasilkan kamus baru dengan menggabungkan dua kamus yang ada. Jika kedua kamus memiliki kuncik
yang sama, nilai kunci kamus di sebelah 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()
get
unknown dict.get(key, default=None)
key
jika key
ada dalam kamus, jika tidak default
. Jika default
tidak diberikan, nilai defaultnya adalah None
, sehingga metode ini tidak pernah menampilkan error.
Parameter
Parameter | Deskripsi |
---|---|
key
|
required Kunci yang akan dicari. |
default
|
default adalah None Nilai default yang akan digunakan (bukan None) jika kunci tidak ditemukan. |
item
list dict.items()
{2: "a", 4: "b", 1: "c"}.items() == [(2, "a"), (4, "b"), (1, "c")]
kunci
list dict.keys()
{2: "a", 4: "b", 1: "c"}.keys() == [2, 4, 1]
pop
unknown dict.pop(key, default=unbound)
key
dari dict, dan menampilkan nilai terkait. Jika tidak ada entri dengan kunci tersebut, jangan hapus apa pun dan tampilkan nilai default
yang ditentukan; jika tidak ada nilai default yang ditentukan, gagal.
Parameter
Parameter | Deskripsi |
---|---|
key
|
required Kunci. |
default
|
default adalah unbound nilai default jika kunci tidak ada. |
popitem
tuple dict.popitem()
(key, value)
pertama dari kamus. popitem
berguna untuk melakukan iterasi secara destruktif pada kamus, seperti yang sering digunakan dalam algoritma set. Jika kamus kosong, panggilan popitem
akan gagal.
setdefault
unknown dict.setdefault(key, default=None)
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
|
required Kunci. |
default
|
default adalah None nilai default jika kunci tidak ada. |
update
None
dict.update(pairs=[], **kwargs)
pairs
, lalu dengan argumen kata kunci opsional
Jika argumen posisi ada, argumen tersebut harus berupa dict, iterable, atau None.
Jika berupa dict, key-value pair-nya akan dimasukkan ke dalam dict ini. Jika berupa iterable, 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 dimasukkan ke dalam dict ini.
Parameter
Parameter | Deskripsi |
---|---|
pairs
|
default adalah [] Dapat berupa kamus atau daftar entri. Entri harus berupa tuple atau daftar dengan tepat dua elemen: kunci, nilai. |
kwargs
|
required Dictionary entri tambahan. |
nilai
list dict.values()
{2: "a", 4: "b", 1: "c"}.values() == ["a", "b", "c"]