Dikte

Laporkan masalah Lihat sumber

Dikte 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 menetapkan ke d[k] atau dengan memanggil metode tertentu. Kamus dapat diubah iterable; iterasi menghasilkan urutan kunci dalam perjanjian pemasangan iklan. Urutan iterasi tidak terpengaruh dengan memperbarui nilai yang terkait dengan kunci yang ada, tetapi terpengaruh dengan menghapus lalu menyisipkan 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, dimasukkan sesuai urutan kemunculannya dalam ekspresi. Evaluasi gagal jika dua ekspresi utama menghasilkan nilai yang sama.
  2. Pemahaman kamus {k: v for vars in seq} menghasilkan kamus baru tempat setiap key-value pair dimasukkan dalam urutan iterasi loop. Duplikat diizinkan: penyisipan pertama kunci yang diberikan 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 posisi sebelum diberi nama. Seperti halnya pemahaman, kunci duplikat diizinkan.
  4. Ekspresi union x | y menghasilkan kamus baru dengan menggabungkan dua kamus yang ada. Jika kedua kamus memiliki kunci k yang sama, nilai kamus sisi kanan kunci (dengan kata lain, y[k]) akan menang. Varian |= dari operator union mengubah kamus di tempat yang sama. 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}

Pelanggan

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, defaultnya adalah None, sehingga metode ini tidak akan memunculkan error.

Parameter

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

item

list dict.items()

Menampilkan daftar tuple nilai kunci:
{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 dikte, dan menampilkan nilai terkait. Jika tidak ditemukan entri dengan kunci tersebut, hapus semuanya dan tampilkan nilai default yang ditentukan; jika tidak ada nilai default yang ditentukan, gagal.

Parameter

Parameter Deskripsi
key wajib
Kunci.
default default = 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 melalui kamus, seperti yang sering digunakan dalam algoritme yang ditetapkan. Jika kamus kosong, panggilan popitem akan gagal.

seteldefault

unknown dict.setdefault(key, default=None)

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

Parameter

Parameter Deskripsi
key wajib
Kunci.
default default = Tidak ada
nilai default jika kunci tidak ada.

update

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

Mengupdate kamus terlebih dahulu dengan argumen posisi opsional, pairs, lalu dengan argumen kata kunci opsional Jika argumen posisi ada, argumen tersebut harus berupa dict, iterable, atau None. Jika berupa dikte, pasangan kunci/nilainya akan dimasukkan ke dalam dikte ini. Jika dapat diubah, ia harus memberikan urutan pasangan (atau iterable lainnya dengan panjang 2), yang masing-masing diperlakukan sebagai pasangan kunci/nilai untuk disisipkan. Setiap argumen kata kunci name=value menyebabkan pasangan nama/nilai disisipkan ke dalam dikte ini.

Parameter

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

values

list dict.values()

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