Setiap kunci dipisahkan dari nilainya dengan tanda titik dua (. ), item dipisahkan dengan koma, dan semuanya diapit oleh kurung kurawal. Kamus kosong tanpa item apa pun ditulis hanya dengan dua kurung kurawal, seperti ini. {}
Kunci unik di dalam kamus sementara nilainya mungkin tidak. Nilai kamus bisa dari tipe apa pun, tetapi kunci harus dari tipe data yang tidak dapat diubah seperti string, angka, atau tupel
Mengakses Nilai dalam Kamus
Untuk mengakses elemen kamus, Anda dapat menggunakan tanda kurung siku bersama dengan kunci untuk mendapatkan nilainya. Berikut adalah contoh sederhana −
#!/usr/bin/python dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'} print "dict['Name']: ", dict['Name'] print "dict['Age']: ", dict['Age']Ketika kode di atas dijalankan, menghasilkan hasil sebagai berikut -
dict['Name']: Zara dict['Age']: 7 _Jika kami mencoba mengakses item data dengan kunci, yang bukan merupakan bagian dari kamus, kami mendapatkan kesalahan sebagai berikut –
#!/usr/bin/python dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'} print "dict['Alice']: ", dict['Alice']Ketika kode di atas dijalankan, menghasilkan hasil sebagai berikut -
dict['Alice']: Traceback (most recent call last): File "test.py", line 4, in print "dict['Alice']: ", dict['Alice']; KeyError: 'Alice'Memperbarui Kamus
Anda dapat memperbarui kamus dengan menambahkan entri baru atau pasangan kunci-nilai, memodifikasi entri yang ada, atau menghapus entri yang ada seperti yang ditunjukkan di bawah dalam contoh sederhana –
#!/usr/bin/python dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'} dict['Age'] = 8; # update existing entry dict['School'] = "DPS School"; # Add new entry print "dict['Age']: ", dict['Age'] print "dict['School']: ", dict['School'] _Ketika kode di atas dijalankan, menghasilkan hasil sebagai berikut -
dict['Age']: 8 dict['School']: DPS SchoolHapus Elemen Kamus
Anda dapat menghapus elemen kamus individual atau menghapus seluruh konten kamus. Anda juga dapat menghapus seluruh kamus dalam satu operasi
Untuk menghapus seluruh kamus secara eksplisit, cukup gunakan pernyataan del. Berikut adalah contoh sederhana −
#!/usr/bin/python dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'} del dict['Name']; # remove entry with key 'Name' dict.clear(); # remove all entries in dict del dict ; # delete entire dictionary print "dict['Age']: ", dict['Age'] print "dict['School']: ", dict['School'] _Ini menghasilkan hasil berikut. Perhatikan bahwa pengecualian dimunculkan karena setelah kamus del dict tidak ada lagi −
dict['Age']: Traceback (most recent call last): File "test.py", line 8, in print "dict['Age']: ", dict['Age']; TypeError: 'type' object is unsubscriptableCatatan - metode del() dibahas di bagian selanjutnya
Properti Kunci Kamus
Nilai kamus tidak memiliki batasan. Mereka bisa berupa objek Python sembarang, baik objek standar atau objek yang ditentukan pengguna. Namun, hal yang sama tidak berlaku untuk kunci
Ada dua hal penting yang perlu diingat tentang kunci kamus −
(a) Lebih dari satu entri per kunci tidak diperbolehkan. Yang berarti tidak ada kunci duplikat yang diperbolehkan. Saat kunci duplikat ditemukan selama penugasan, penugasan terakhir menang. Misalnya −
#!/usr/bin/python dict = {'Name': 'Zara', 'Age': 7, 'Name': 'Manni'} print "dict['Name']: ", dict['Name'] _Ketika kode di atas dijalankan, menghasilkan hasil sebagai berikut -
dict['Name']: Manni _(b) Kunci harus tidak dapat diubah. Yang berarti Anda dapat menggunakan string, angka, atau tupel sebagai kunci kamus tetapi sesuatu seperti ['key'] tidak diperbolehkan. Berikut adalah contoh sederhana −
dict['Name']: Zara dict['Age']: 7 _0Ketika kode di atas dijalankan, menghasilkan hasil sebagai berikut -
dict['Name']: Zara dict['Age']: 7 _1Fungsi & Metode Kamus Bawaan
Python menyertakan fungsi kamus berikut −
Sr. TIDAK. Fungsi dengan Description1cmp(dict1, dict2)Membandingkan elemen dari kedua dict
2len(dikt)Memberikan total panjang kamus. Ini akan sama dengan jumlah item dalam kamus
3str(dikt)Menghasilkan representasi string kamus yang dapat dicetak
4 jenis (variabel)Mengembalikan jenis variabel yang diteruskan. Jika variabel yang diteruskan adalah kamus, maka itu akan mengembalikan tipe kamus
Kamus adalah koleksi tidak terurut yang berisi d = {} # empty dictionary numNames={1:"One", 2: "Two", 3:"Three"} # int key, string value decNames={1.5:"One and Half", 2.5: "Two and Half", 3.5:"Three and Half"} # float key, string value items={("Parker","Reynolds","Camlin"):"pen", ("LG","Whirlpool","Samsung"): "Refrigerator"} # tuple key, string value romanNums = {'I':1, 'II':2, 'III':3, 'IV':4, 'V':5} # string key, int value 9 pasang dipisahkan dengan koma di dalam kurung kurawal. Kamus dioptimalkan untuk mengambil nilai saat kunci diketahui
Berikut ini mendeklarasikan objek kamus
Contoh. Kamus
capitals = {"USA":"Washington D.C.", "France":"Paris", "India":"New Delhi"}
Di atas, dict_obj = {["Mango","Banana"]:"Fruit", ["Blue", "Red"]:"Color"}_0 adalah objek kamus yang berisi pasangan kunci-nilai di dalam dict_obj = {["Mango","Banana"]:"Fruit", ["Blue", "Red"]:"Color"}1. Sisi kiri dict_obj = {["Mango","Banana"]:"Fruit", ["Blue", "Red"]:"Color"}_2 adalah kunci, dan sisi kanan adalah nilai. Kuncinya harus unik dan merupakan objek yang tidak dapat diubah. Angka, string, atau tuple dapat digunakan sebagai kunci. Oleh karena itu, kamus berikut ini juga valid
Contoh. Objek Kamus
d = {} # empty dictionary numNames={1:"One", 2: "Two", 3:"Three"} # int key, string value decNames={1.5:"One and Half", 2.5: "Two and Half", 3.5:"Three and Half"} # float key, string value items={("Parker","Reynolds","Camlin"):"pen", ("LG","Whirlpool","Samsung"): "Refrigerator"} # tuple key, string value romanNums = {'I':1, 'II':2, 'III':3, 'IV':4, 'V':5} # string key, int value
Namun, kamus dengan daftar sebagai kunci tidak valid, karena daftar dapat berubah
Kesalahan. Daftar sebagai Dict Key
dict_obj = {["Mango","Banana"]:"Fruit", ["Blue", "Red"]:"Color"}
Tapi, daftar bisa digunakan sebagai nilai
Contoh. Daftar sebagai Nilai Kamus
dict_obj = {"Fruit":["Mango","Banana"], "Color":["Blue", "Red"]}
Kunci yang sama tidak dapat muncul lebih dari sekali dalam koleksi. Jika kunci muncul lebih dari sekali, hanya yang terakhir yang akan dipertahankan. Nilainya bisa berupa tipe data apa saja. Satu nilai dapat diberikan ke lebih dari satu kunci
Contoh. Kunci Unik
>>> numNames = {1:"One", 2:"Two", 3:"Three", 2:"Two", 1:"One"} >>> numNames {1:"One", 2:"Two", 3:"Three"}
dict_obj = {["Mango","Banana"]:"Fruit", ["Blue", "Red"]:"Color"}_3 adalah kelas dari semua kamus, seperti yang ditunjukkan di bawah ini
Contoh. Tipe Berbeda
>>> numNames = {1:"One", 2:"Two", 3:"Three", 2:"Two", 1:"One"} >>> type(numNames) <class 'dict'>
Kamus juga dapat dibuat menggunakan metode konstruktor dict()
Contoh. dict() Metode Konstruktor
>>> emptydict = dict() >>> emptydict {} >>> numdict = dict(I='one', II='two', III='three') >>> numdict {'I': 'one', 'II': 'two', 'III': 'three'}
Akses Kamus
Kamus adalah koleksi yang tidak diurutkan, sehingga nilai tidak dapat diakses menggunakan indeks;
Contoh. Dapatkan Nilai Kamus
>>> capitals = {"USA":"Washington DC", "France":"Paris", "India":"New Delhi"} >>>capitals["USA"] 'Washington DC' >>> capitals["France"] 'Paris' >>> capitals["usa"] # Error: Key is case-sensitive Traceback (most recent call last): File "<pyshell#10>", line 1, in <module> capitals['usa'] KeyError: 'usa' >>> capitals["Japan"] # Error: key must exist Traceback (most recent call last): File "<pyshell#10>", line 1, in <module> capitals['Japan'] KeyError: 'Japan'
Catatan
Kunci peka terhadap huruf besar-kecil. Jadi, dict_obj = {["Mango","Banana"]:"Fruit", ["Blue", "Red"]:"Color"}4 dan dict_obj = {["Mango","Banana"]:"Fruit", ["Blue", "Red"]:"Color"}5 diperlakukan sebagai kunci yang berbeda. Jika kunci yang ditentukan tidak ada maka akan menimbulkan error
Gunakan metode get() untuk mengambil nilai kunci meskipun kunci tidak diketahui. Ini mengembalikan dict_obj = {["Mango","Banana"]:"Fruit", ["Blue", "Red"]:"Color"}_6 jika kunci tidak ada alih-alih menimbulkan kesalahan
Contoh. Dapatkan Nilai Kamus
>>> capitals = {"USA":"Washington DC", "France":"Paris", "Japan":"Tokyo", "India":"New Delhi"} >>> capitals.get("USA") 'Washington DC' >>> capitals.get("France") 'Paris' >>> capitals.get("usa") >>> capitals.get("Japan") >>>
Akses Kamus menggunakan For Loop
Gunakan loop for untuk mengulang kamus dalam skrip Python
Contoh. Akses Kamus Menggunakan For Loop
capitals = {"USA":"Washington D.C.", "France":"Paris", "India":"New Delhi"} for key in capitals: print("Key = " + key + ", Value = " + capitals[key])
Keluaran
d = {} # empty dictionary numNames={1:"One", 2: "Two", 3:"Three"} # int key, string value decNames={1.5:"One and Half", 2.5: "Two and Half", 3.5:"Three and Half"} # float key, string value items={("Parker","Reynolds","Camlin"):"pen", ("LG","Whirlpool","Samsung"): "Refrigerator"} # tuple key, string value romanNums = {'I':1, 'II':2, 'III':3, 'IV':4, 'V':5} # string key, int value 0
Perbarui Kamus
Seperti disebutkan sebelumnya, kunci tidak dapat muncul lebih dari sekali. Gunakan kunci yang sama dan tetapkan nilai baru untuk memperbarui objek kamus
Contoh. Perbarui Nilai Kunci
d = {} # empty dictionary numNames={1:"One", 2: "Two", 3:"Three"} # int key, string value decNames={1.5:"One and Half", 2.5: "Two and Half", 3.5:"Three and Half"} # float key, string value items={("Parker","Reynolds","Camlin"):"pen", ("LG","Whirlpool","Samsung"): "Refrigerator"} # tuple key, string value romanNums = {'I':1, 'II':2, 'III':3, 'IV':4, 'V':5} # string key, int value 1
Gunakan kunci baru dan berikan nilai padanya. Kamus akan menampilkan pasangan kunci-nilai tambahan di dalamnya
Contoh. Tambahkan Pasangan Nilai-Kunci Baru
d = {} # empty dictionary numNames={1:"One", 2: "Two", 3:"Three"} # int key, string value decNames={1.5:"One and Half", 2.5: "Two and Half", 3.5:"Three and Half"} # float key, string value items={("Parker","Reynolds","Camlin"):"pen", ("LG","Whirlpool","Samsung"): "Refrigerator"} # tuple key, string value romanNums = {'I':1, 'II':2, 'III':3, 'IV':4, 'V':5} # string key, int value 2
Menghapus Nilai dari Kamus
Gunakan metode kata kunci del, pop(), atau popitem() untuk menghapus pasangan dari kamus atau objek kamus itu sendiri. Untuk menghapus pasangan, gunakan kuncinya sebagai parameter. Untuk menghapus objek kamus, gunakan namanya
Contoh. Hapus Nilai Kunci
d = {} # empty dictionary numNames={1:"One", 2: "Two", 3:"Three"} # int key, string value decNames={1.5:"One and Half", 2.5: "Two and Half", 3.5:"Three and Half"} # float key, string value items={("Parker","Reynolds","Camlin"):"pen", ("LG","Whirlpool","Samsung"): "Refrigerator"} # tuple key, string value romanNums = {'I':1, 'II':2, 'III':3, 'IV':4, 'V':5} # string key, int value 3
dict_obj = {["Mango","Banana"]:"Fruit", ["Blue", "Red"]:"Color"}_7 menunjukkan bahwa objek kamus telah dihapus dari memori
Ambil Kunci dan Nilai Kamus
Metode keys() dan values() mengembalikan objek tampilan yang masing-masing berisi kunci dan nilai
Contoh. kunci()
d = {} # empty dictionary numNames={1:"One", 2: "Two", 3:"Three"} # int key, string value decNames={1.5:"One and Half", 2.5: "Two and Half", 3.5:"Three and Half"} # float key, string value items={("Parker","Reynolds","Camlin"):"pen", ("LG","Whirlpool","Samsung"): "Refrigerator"} # tuple key, string value romanNums = {'I':1, 'II':2, 'III':3, 'IV':4, 'V':5} # string key, int value 4
Periksa Kunci Kamus
Anda dapat memeriksa apakah kunci paritular ada dalam koleksi kamus atau tidak menggunakan kata kunci dict_obj = {["Mango","Banana"]:"Fruit", ["Blue", "Red"]:"Color"}8 atau dict_obj = {["Mango","Banana"]:"Fruit", ["Blue", "Red"]:"Color"}9, seperti yang ditunjukkan di bawah ini. Perhatikan bahwa ini hanya memeriksa kunci, bukan nilai
Contoh. Periksa Kunci
d = {} # empty dictionary numNames={1:"One", 2: "Two", 3:"Three"} # int key, string value decNames={1.5:"One and Half", 2.5: "Two and Half", 3.5:"Three and Half"} # float key, string value items={("Parker","Reynolds","Camlin"):"pen", ("LG","Whirlpool","Samsung"): "Refrigerator"} # tuple key, string value romanNums = {'I':1, 'II':2, 'III':3, 'IV':4, 'V':5} # string key, int value 5
Kamus Multidimensi
Anggaplah ada tiga objek kamus, seperti di bawah ini
Contoh. Kamus
d = {} # empty dictionary numNames={1:"One", 2: "Two", 3:"Three"} # int key, string value decNames={1.5:"One and Half", 2.5: "Two and Half", 3.5:"Three and Half"} # float key, string value items={("Parker","Reynolds","Camlin"):"pen", ("LG","Whirlpool","Samsung"): "Refrigerator"} # tuple key, string value romanNums = {'I':1, 'II':2, 'III':3, 'IV':4, 'V':5} # string key, int value 6
Mari kita berikan nomor gulungan kepada siswa ini dan buat kamus multi-dimensi dengan nomor gulungan sebagai kunci dan kamus di atas sesuai nilainya
Contoh. Kamus Multidimensi
d = {} # empty dictionary numNames={1:"One", 2: "Two", 3:"Three"} # int key, string value decNames={1.5:"One and Half", 2.5: "Two and Half", 3.5:"Three and Half"} # float key, string value items={("Parker","Reynolds","Camlin"):"pen", ("LG","Whirlpool","Samsung"): "Refrigerator"} # tuple key, string value romanNums = {'I':1, 'II':2, 'III':3, 'IV':4, 'V':5} # string key, int value 7
Objek dict_obj = {"Fruit":["Mango","Banana"], "Color":["Blue", "Red"]} _0 adalah kamus dua dimensi. Di sini dict_obj = {"Fruit":["Mango","Banana"], "Color":["Blue", "Red"]} 1, dict_obj = {"Fruit":["Mango","Banana"], "Color":["Blue", "Red"]} 2, dan dict_obj = {"Fruit":["Mango","Banana"], "Color":["Blue", "Red"]} 3 masing-masing ditetapkan sebagai nilai untuk kunci 1, 2, dan 3. dict_obj = {"Fruit":["Mango","Banana"], "Color":["Blue", "Red"]} _4 mengembalikan dict_obj = {"Fruit":["Mango","Banana"], "Color":["Blue", "Red"]} 1
Contoh. Akses Kamus Multidimensi
d = {} # empty dictionary numNames={1:"One", 2: "Two", 3:"Three"} # int key, string value decNames={1.5:"One and Half", 2.5: "Two and Half", 3.5:"Three and Half"} # float key, string value items={("Parker","Reynolds","Camlin"):"pen", ("LG","Whirlpool","Samsung"): "Refrigerator"} # tuple key, string value romanNums = {'I':1, 'II':2, 'III':3, 'IV':4, 'V':5} # string key, int value 8
Metode Kamus Bawaan
MethodDescriptiondict. clear()Menghapus semua pasangan kunci-nilai dari kamus. dikt. copy() Mengembalikan salinan kamus yang dangkal. dikt. fromkeys()Membuat kamus baru dari iterable yang diberikan (string, list, set, tuple) sebagai kunci dan dengan nilai yang ditentukan. dikt. get() Mengembalikan nilai kunci yang ditentukan. dikt. items() Mengembalikan objek tampilan kamus yang menyediakan tampilan dinamis elemen kamus sebagai daftar pasangan nilai kunci. Objek tampilan ini berubah ketika kamus berubah. dikt. keys() Mengembalikan a yang berisi daftar kunci kamus. dikt. pop()Menghapus kunci dan mengembalikan nilainya. Jika kunci tidak ada dalam kamus, maka kembalikan nilai default jika ditentukan, jika tidak, akan muncul KeyError. dikt. popitem() Menghapus dan mengembalikan pasangan tupel (kunci, nilai) dari kamus. Pasangan dikembalikan dalam urutan Last In First Out (LIFO). dikt. setdefault() Mengembalikan nilai kunci yang ditentukan dalam kamus. Jika kunci tidak ditemukan, maka kunci tersebut akan ditambahkan dengan nilai default yang ditentukan. Jika nilai default tidak ditentukan maka itu menetapkan nilai Tidak ada. dikt. update() Memperbarui kamus dengan pasangan nilai kunci dari kamus lain atau iterable lain seperti tuple yang memiliki pasangan nilai kunci. dikt. values() Mengembalikan yang menyediakan tampilan dinamis dari semua nilai dalam kamus. Objek tampilan ini berubah ketika kamus berubah