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 membutuhkan waktu
yang konstan. Kamus yang tidak dibekukan dapat diubah, dan dapat diperbarui dengan menetapkannya ke d[k]
atau dengan memanggil metode tertentu. Kamus dapat bersifat iterable; iterasi akan menghasilkan urutan
kunci dalam urutan penyisipan. Urutan iterasi tidak terpengaruh oleh pembaruan nilai yang terkait dengan kunci yang ada, tetapi terpengaruh oleh penghapusan lalu memasukkan 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 disisipkan sesuai urutan kemunculannya dalam ekspresi. Evaluasi akan gagal jika salah satu dari dua ekspresi kunci menghasilkan nilai yang sama. - Pemahaman kamus
{k: v for vars in seq}
menghasilkan kamus baru yang berisi setiap pasangan kunci/nilai yang dimasukkan dalam urutan iterasi loop. Duplikat diizinkan: penyisipan pertama kunci tertentu menentukan posisinya dalam urutan, dan penyisipan terakhir menentukan nilai yang terkait.{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 akan menampilkan kamus yang berisi entri tertentu, yang disisipkan dalam urutan argumen, dan argumen posisi sebelum dinamai. Seperti halnya pemahaman, kunci duplikat diizinkan.
- Ekspresi gabungan
x | y
menghasilkan kamus baru dengan menggabungkan dua kamus yang ada. Jika kedua kamus tersebut memiliki kuncik
yang sama, nilai kamus sebelah kanan kunci tersebut (dengan kata lain,y[k]
) akan menang. Varian|=
dari operator gabungan memodifikasi kamus yang diterapkan. 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
|
wajib Kunci yang harus dicari. |
default
|
default adalah None Nilai default yang akan digunakan (bukan Tidak ada) 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 dikte, dan menampilkan nilai terkait. Jika tidak ditemukan entri dengan kunci tersebut, hapus apa pun dan tampilkan nilai default
yang ditentukan; jika tidak ada nilai default yang ditentukan, gagalkan.
Parameter
Parameter | Deskripsi |
---|---|
key
|
wajib Kuncinya. |
default
|
default adalah unbound nilai default jika kunci tidak ada. |
item pop
tuple dict.popitem()
(key, value)
pertama dari kamus. popitem
berguna untuk melakukan iterasi secara destruktif melalui kamus, seperti yang sering digunakan dalam algoritma yang ditetapkan. Jika kamus kosong, panggilan popitem
akan gagal.
setdefault
unknown dict.setdefault(key, default=None)
key
ada dalam kamus, tampilkan nilainya. Jika tidak, masukkan kunci dengan nilai default
dan tampilkan default
. default
ditetapkan secara default ke None
.
Parameter
Parameter | Deskripsi |
---|---|
key
|
wajib Kuncinya. |
default
|
default adalah None nilai default jika kunci tidak ada. |
update
None
dict.update(pairs=[], **kwargs)
pairs
, lalu dengan argumen kata kunci opsional
Jika ada argumen posisi, maka harus berupa dict, iterable, atau None.
Jika jenisnya adalah dict, pasangan kunci/nilainya akan dimasukkan ke dalam dict ini. Jika iterable, maka harus menyediakan urutan pasangan (atau iterable lainnya 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 dikte ini.
Parameter
Parameter | Deskripsi |
---|---|
pairs
|
default adalah [] Baik berupa kamus atau daftar entri. Entri harus berupa tupel atau daftar dengan tepat dua elemen: kunci, nilai. |
kwargs
|
wajib Kamus entri tambahan. |
nilai
list dict.values()
{2: "a", 4: "b", 1: "c"}.values() == ["a", "b", "c"]