Dictionaries¶
thisdict = {
"brand": "Ford",
"model": "Mustang",
"year": 1964
}
Dictionary¶
Kamus digunakan untuk menyimpan nilai data dalam pasangan kunci:nilai.
Kamus adalah koleksi yang diurutkan*, dapat diubah, dan tidak mengizinkan duplikat.
Catatan
Mulai Python versi 3.7, kamus diurutkan. Pada Python 3.6 dan versi sebelumnya, kamus tidak diurutkan.
Kamus ditulis dengan tanda kurung kurawal, dan memiliki kunci dan nilai
- Dictionary Items
Item kamus diurutkan, dapat diubah, dan tidak memungkinkan duplikasi.
Item kamus disajikan dalam pasangan kunci:nilai, dan dapat dirujuk menggunakan nama kunci.
thisdict = { "brand": "Ford", "model": "Mustang", "year": 1964 } print(thisdict["brand"]) #return Ford
- Ordered or Unordered?
Ketika kita mengatakan kamus tersusun, artinya item-itemnya memiliki urutan yang pasti, dan urutan tersebut tidak akan berubah.
Tidak tersusun berarti item-itemnya tidak memiliki urutan yang pasti, Anda tidak dapat merujuk ke suatu item dengan menggunakan indeks.
- Changeable
Kamus dapat diubah, artinya kita dapat mengubah, menambah, atau menghapus item setelah kamus dibuat.
- Duplicates Not Allowed
Kamus tidak dapat memiliki dua item dengan kunci yang sama:
Nilai duplikat akan menimpa nilai yang sudah ada:
thisdict = { "brand": "Ford", "model": "Mustang", "year": 1964, "year": 2020 } print(thisdict) #return {'brand': 'Ford', 'model': 'Mustang', 'year': 2020}
- Dictionary Length
Untuk menentukan berapa banyak item yang dimiliki kamus, gunakan fungsi len():
print(len(thisdict))
- Dictionary Items - Data Types
Nilai dalam item kamus dapat berupa tipe data apa pun:
thisdict = { "brand": "Ford", "electric": False, "year": 1964, "colors": ["red", "white", "blue"] }
- type()
Dari perspektif Python, kamus didefinisikan sebagai objek dengan tipe data 'dict':
<class 'dict'>
- The dict() Constructor
Anda juga dapat menggunakan konstruktor
dict()untuk membuat kamus.thisdict = dict(name = "John", age = 36, country = "Norway") print(thisdict) #return {'name': 'John', 'age': 36, 'country': 'Norway'}
Access Dictionary Items¶
Accessing Items¶
Anda dapat mengakses item kamus dengan merujuk pada nama kuncinya, di dalam tanda kurung siku:
Ada juga metode yang disebut get() yang akan memberi Anda hasil yang sama:
thisdict = {
"brand": "Ford",
"model": "Mustang",
"year": 1964
}
x = thisdict["model"]
#or
x = thisdict.get("model")
Get Keys¶
Metode keys() akan mengembalikan daftar semua kunci dalam kamus.
x = thisdict.keys()
Daftar kunci adalah tampilan kamus, artinya perubahan apa pun yang dilakukan pada kamus akan tercermin dalam daftar kunci.
car = {
"brand": "Ford",
"model": "Mustang",
"year": 1964
}
x = car.keys()
print(x) #before the change
car["color"] = "white"
print(x) #after the change
Get Values¶
Metode values() akan mengembalikan daftar semua nilai dalam kamus.
x = thisdict.values()
Daftar nilai adalah tampilan kamus, artinya perubahan apa pun yang dilakukan pada kamus akan tercermin dalam daftar nilai.
car = {
"brand": "Ford",
"model": "Mustang",
"year": 1964
}
x = car.values()
print(x) #before the change
car["year"] = 2020
print(x) #after the change
Tambahkan item baru ke kamus asli, dan lihat apakah daftar nilai juga diperbarui:
car = {
"brand": "Ford",
"model": "Mustang",
"year": 1964
}
x = car.values()
print(x) #before the change
car["color"] = "red"
print(x) #after the change
Get Items¶
Metode items() akan mengembalikan setiap item dalam kamus, sebagai tupel dalam daftar.
x = thisdict.items()
Daftar yang dikembalikan adalah tampilan item kamus, artinya perubahan apa pun yang dilakukan pada kamus akan tercermin dalam daftar item.
car = {
"brand": "Ford",
"model": "Mustang",
"year": 1964
}
x = car.items()
print(x) #before the change
#return dict_items([('brand', 'Ford'), ('model', 'Mustang'), ('year', 1964)])
car["year"] = 2020
print(x) #after the change
#return dict_items([('brand', 'Ford'), ('model', 'Mustang'), ('year', 2020)])
Tambahkan item baru ke kamus asli, dan lihat apakah daftar item juga diperbarui:
car = {
"brand": "Ford",
"model": "Mustang",
"year": 1964
}
x = car.items()
print(x) #before the change
#return dict_items([('brand', 'Ford'), ('model', 'Mustang'), ('year', 1964)])
car["color"] = "red"
print(x) #after the change
#return dict_items([('brand', 'Ford'), ('model', 'Mustang'), ('year', 1964), ('color', 'red')])
Check if Key Exists¶
Untuk menentukan apakah kunci tertentu ada dalam kamus, gunakan kata kunci in:
thisdict = {
"brand": "Ford",
"model": "Mustang",
"year": 1964
}
if "model" in thisdict:
print("Yes, 'model' is one of the keys in the thisdict dictionary")
Change Dictionary Items¶
Change Values¶
Anda dapat mengubah nilai item tertentu dengan merujuk pada nama kuncinya:
#Change the "year" to 2018:
thisdict = {
"brand": "Ford",
"model": "Mustang",
"year": 1964
}
thisdict["year"] = 2018
Update Dictionary¶
Metode update() akan memperbarui kamus dengan item dari argumen yang diberikan.
Argumen harus berupa kamus, atau objek yang dapat diiterasi dengan pasangan kunci:nilai.
# Update the "year" of the car by using the update() method:
thisdict = {
"brand": "Ford",
"model": "Mustang",
"year": 1964
}
thisdict.update({"year": 2020})
Add Dictionary Items¶
Menambahkan Item¶
Menambahkan item ke kamus dilakukan dengan menggunakan kunci indeks baru dan menetapkan nilai padanya:
thisdict = {
"brand": "Ford",
"model": "Mustang",
"year": 1964
}
thisdict["color"] = "red"
print(thisdict)
#return {'brand': 'Ford', 'model': 'Mustang', 'year': 1964, 'color': 'red'}
Update Dictionary¶
Metode update() akan memperbarui kamus dengan item dari argumen yang diberikan. Jika item tersebut tidak ada, item tersebut akan ditambahkan.
Argumen harus berupa kamus, atau objek yang dapat diiterasi dengan pasangan kunci:nilai.
thisdict = {
"brand": "Ford",
"model": "Mustang",
"year": 1964
}
thisdict.update({"color": "red"})
print(thisdict)
#return {'brand': 'Ford', 'model': 'Mustang', 'year': 1964, 'color': 'red'}
Remove Dictionary Items¶
Menghapus Item¶
Ada beberapa metode untuk menghapus item dari kamus:
Metode pop() menghapus item dengan nama kunci yang ditentukan:
thisdict = {
"brand": "Ford",
"model": "Mustang",
"year": 1964
}
thisdict.pop("model")
print(thisdict) #return {'brand': 'Ford', 'year': 1964}
Metode popitem() menghapus item terakhir yang dimasukkan (dalam versi sebelum 3.7, item acak akan dihapus sebagai gantinya):
thisdict = {
"brand": "Ford",
"model": "Mustang",
"year": 1964
}
thisdict.popitem()
print(thisdict) #return {'brand': 'Ford', 'model': 'Mustang'}
Kata kunci del menghapus item dengan nama kunci yang ditentukan:
thisdict = {
"brand": "Ford",
"model": "Mustang",
"year": 1964
}
del thisdict["model"]
print(thisdict) #return {'brand': 'Ford', 'year': 1964}
Kata kunci del juga dapat menghapus kamus sepenuhnya:
thisdict = {
"brand": "Ford",
"model": "Mustang",
"year": 1964
}
del thisdict
print(thisdict) #this will cause an error because "thisdict" no longer exists.
Metode clear() mengosongkan kamus:
- thisdict = {
"brand": "Ford", "model": "Mustang", "year": 1964
} thisdict.clear() print(thisdict) #return {}
Loop Dictionaries¶
Anda dapat melakukan perulangan melalui kamus dengan menggunakan perulangan ````.
Saat melakukan perulangan melalui kamus, nilai yang dikembalikan adalah kunci kamus, tetapi ada juga metode untuk mengembalikan nilai tersebut.
Print all key names in the dictionary, one by one:
for x in thisdict:
print(x)
Cetak semua values dalam dictionary, satu per satu:
for x in thisdict:
print(thisdict[x])
Anda juga dapat menggunakan metode values() untuk mengembalikan nilai kamus:
- for x in thisdict.values():
print(x)
Anda dapat menggunakan metode keys() untuk mengembalikan kunci kamus:
for x in thisdict.keys():
print(x)
Loop through both keys and values, by using the items() method:
for x, y in thisdict.items():
print(x, y)
#return
#brand Ford
#model Mustang
#year 1964
Copy Dictionaries¶
Anda tidak dapat menyalin kamus hanya dengan mengetik dict2 = dict1, karena dict2 hanya akan menjadi referensi ke dict1, dan perubahan yang dibuat di dict1 akan secara otomatis juga dilakukan di dict2.
Ada beberapa cara untuk menyalin, salah satunya adalah dengan menggunakan metode bawaan Dictionary, yaitu copy().
Buat salinan kamus dengan metode
copy():thisdict = { "brand": "Ford", "model": "Mustang", "year": 1964 } mydict = thisdict.copy() print(mydict)
Cara lain untuk membuat salinan adalah dengan menggunakan fungsi bawaan
dict().thisdict = { "brand": "Ford", "model": "Mustang", "year": 1964 } mydict = dict(thisdict) print(mydict)
Nested Dictionaries¶
Nested Dictionaries¶
Suatu kamus dapat berisi kamus-kamus, ini disebut kamus bersarang (nested).
Create a dictionary that contain three dictionaries:
myfamily = {
"child1" : {
"name" : "Emil",
"year" : 2004
},
"child2" : {
"name" : "Tobias",
"year" : 2007
},
"child3" : {
"name" : "Linus",
"year" : 2011
}
}
Atau, jika Anda ingin menambahkan tiga kamus ke kamus baru:
Buat tiga kamus, lalu buat satu kamus yang akan memuat tiga kamus lainnya:
child1 = {
"name" : "Emil",
"year" : 2004
}
child2 = {
"name" : "Tobias",
"year" : 2007
}
child3 = {
"name" : "Linus",
"year" : 2011
}
myfamily = {
"child1" : child1,
"child2" : child2,
"child3" : child3
}
Access Items in Nested Dictionaries¶
Untuk mengakses item dari kamus bersarang, Anda menggunakan nama kamus, dimulai dengan kamus luar:
print(myfamily["child2"]["name"])
Loop Through Nested Dictionaries¶
Anda dapat melakukan pengulangan melalui kamus dengan menggunakan metode items() seperti ini:
for x, obj in myfamily.items():
print(x)
for y in obj:
print(y + ':', obj[y])
Dictionary Methods¶
Python memiliki serangkaian metode bawaan yang dapat Anda gunakan pada kamus.
Method |
Description |
|---|---|
clear() |
Removes all the elements from the dictionary |
copy() |
Returns a copy of the dictionary |
fromkeys() |
Returns a dictionary with the specified keys and value |
get() |
Returns the value of the specified key |
items() |
Returns a list containing a tuple for each key value pair |
keys() |
Returns a list containing the dictionary's keys |
pop() |
Removes the element with the specified key |
popitem() |
Removes the last inserted key-value pair |
setdefault() |
Returns the value of the specified key. If the key does not exist: insert the key, with the specified value |
update() |
Updates the dictionary with the specified key-value pairs |
values() |
Returns a list of all the values in the dictionary |