dik

Laporkan masalah Lihat sumber

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 berubah, 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 dengan mengupdate nilai yang terkait dengan kunci yang ada, tetapi akan terpengaruh dengan menghapus dan memasukkan 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 sesuai urutan kemunculannya dalam ekspresi. Evaluasi gagal jika dua ekspresi kunci menghasilkan nilai yang sama.
  2. Pemahaman kamus {k: v for vars in seq} menghasilkan kamus baru tempat setiap pasangan kunci/nilai disisipkan dalam urutan iterasi loop. Duplikat diizinkan: penyisipan pertama kunci tertentu menentukan posisinya dalam urutan, dan penyisipan 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 akan menampilkan kamus yang berisi entri yang ditentukan, yang disisipkan dalam urutan argumen, argumen posisi sebelum diberi nama. Seperti halnya pemahaman, tombol duplikat diizinkan.
  4. Ekspresi gabungan x | y menghasilkan kamus baru dengan menggabungkan dua kamus yang ada. Jika kedua kamus memiliki k kunci yang sama, nilai kunci kamus di sisi kanan (dengan kata lain, y[k]) yang akan menang. Varian |= dari operator union 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()

Hapus semua item dari kamus.

get

unknown dict.get(key, default=None)

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

Parameter

Parameter Deskripsi
key diperlukan
Kunci yang harus dicari.
default Defaultnya adalah None
Nilai default yang akan digunakan (bukan Tidak Ada) jika kunci tidak ditemukan.

items

list dict.items()

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

kunci

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 dikte, dan menampilkan nilai terkait. Jika tidak ada entri dengan kunci tersebut yang ditemukan, hapus apa pun dan tampilkan nilai default yang ditentukan; jika tidak ada nilai default yang ditentukan, lakukan kegagalan.

Parameter

Parameter Deskripsi
key diperlukan
Kunci.
default defaultnya adalah unbound
nilai default jika kunci tidak ada.

item pop

tuple dict.popitem()

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

setel default

unknown dict.setdefault(key, default=None)

Jika 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 diperlukan
Kunci.
default defaultnya adalah None
nilai default jika kunci tidak ada.

ubah

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

Memperbarui kamus terlebih dahulu dengan argumen posisi opsional, pairs, lalu dengan argumen kata kunci opsional. Jika ada argumen posisi, argumen tersebut harus berupa dict, iterable, atau None. Jika berupa dikte, key-value pairnya akan disisipkan ke dalam dikte ini. Jika bersifat iterable, parameter ini 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 dikte ini.

Parameter

Parameter Deskripsi
pairs defaultnya adalah []
Kamus atau daftar entri. Entri harus berupa tupel atau daftar dengan tepat dua elemen: kunci, nilai.
kwargs required
Kamus entri tambahan.

nilai

list dict.values()

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