Dictionary Methods 2
Pada materi sebelumnya, kita telah mempelajari beberapa cara untuk mengakses data dalam dictionary menggunakan [] dan .get().
Pada materi ini, kita akan melanjutkan dengan beberapa method dictionary yang digunakan untuk:
- Memeriksa keberadaan key dan value.
- Mengambil seluruh key, value, atau pasangan data.
- Menyalin dictionary.
- Menghapus data.
- Mengubah dan menambahkan data.
1. Memeriksa Keberadaan Key dengan in
Keyword in dapat digunakan untuk memeriksa apakah sebuah key terdapat di dalam dictionary.
Contohnya:
user = {
"basket": [1, 2, 3],
"greet": "hello",
"age": 20
}
print("basket" in user)
print("size" in user)
Hasil:
True
False
Secara default, in pada dictionary memeriksa key, bukan value.
2. Menggunakan .keys()
Method .keys() digunakan untuk mendapatkan seluruh key yang terdapat di dalam dictionary.
Contohnya:
user = {
"basket": [1, 2, 3],
"greet": "hello",
"age": 20
}
print(user.keys())
Hasilnya berupa objek dict_keys.
Untuk memeriksa apakah key tertentu tersedia:
print("age" in user.keys())
Hasil:
True
Namun, dalam penggunaan sehari-hari, kita biasanya cukup menggunakan:
print("age" in user)
3. Menggunakan .values()
Jika .keys() digunakan untuk mendapatkan key, maka .values() digunakan untuk mendapatkan seluruh value.
Contohnya:
user = {
"basket": [1, 2, 3],
"greet": "hello",
"age": 20
}
print(user.values())
Untuk memeriksa apakah sebuah value terdapat di dalam dictionary:
print("hello" in user.values())
Hasil:
True
Contoh lainnya:
print(20 in user.values())
Hasil:
True
4. Perbedaan in pada Key dan Value
Perhatikan contoh berikut:
user = {
"name": "Andi",
"age": 25
}
Jika menggunakan:
print("name" in user)
Python memeriksa key.
Hasil:
True
Sedangkan:
print("Andi" in user)
hasilnya:
False
Karena "Andi" merupakan value, bukan key.
Untuk memeriksa value:
print("Andi" in user.values())
Hasil:
True
5. Menggunakan .items()
Method .items() digunakan untuk mendapatkan seluruh pasangan key-value.
Contohnya:
user = {
"basket": [1, 2, 3],
"greet": "hello",
"age": 20
}
print(user.items())
Hasilnya berupa objek dict_items yang berisi pasangan key-value:
dict_items([
("basket", [1, 2, 3]),
("greet", "hello"),
("age", 20)
])
Setiap pasangan direpresentasikan sebagai tuple.
Contohnya:
("age", 20)
6. Perbandingan .keys(), .values(), dan .items()
| Method | Menghasilkan |
|---|---|
.keys() | Seluruh key |
.values() | Seluruh value |
.items() | Seluruh pasangan key-value |
Contohnya:
user = {
"name": "Andi",
"age": 25
}
.keys()
print(user.keys())
Secara konsep:
name
age
.values()
print(user.values())
Secara konsep:
Andi
25
.items()
print(user.items())
Secara konsep:
("name", "Andi")
("age", 25)
7. Menghapus Seluruh Data dengan .clear()
Method .clear() digunakan untuk menghapus seluruh isi dictionary.
Contohnya:
user = {
"name": "Andi",
"age": 25
}
user.clear()
print(user)
Hasil:
{}
Method .clear() bekerja secara in-place, sehingga dictionary yang sama menjadi kosong.
8. Menyalin Dictionary dengan .copy()
Method .copy() digunakan untuk membuat salinan dictionary.
Contohnya:
user = {
"name": "Andi",
"age": 25
}
user2 = user.copy()
Sekarang terdapat dua dictionary:
user
↓
{"name": "Andi", "age": 25}
user2
↓
{"name": "Andi", "age": 25}
Keduanya merupakan dictionary yang berbeda.
9. Membuktikan Hasil .copy()
user = {
"name": "Andi",
"age": 25
}
user2 = user.copy()
user.clear()
print(user)
print(user2)
Hasil:
{}
{"name": "Andi", "age": 25}
Perubahan pada user tidak mengosongkan user2.
10. Perbedaan .copy() dengan Assignment
Perhatikan kode berikut:
user = {
"name": "Andi"
}
user2 = user
Dalam kasus ini, user dan user2 merujuk pada dictionary yang sama.
Jika:
user.clear()
maka:
print(user2)
juga menghasilkan:
{}
Jika ingin membuat dictionary terpisah, gunakan:
user2 = user.copy()
11. Menghapus Data dengan .pop()
Method .pop() digunakan untuk menghapus item berdasarkan key.
Contohnya:
user = {
"name": "Andi",
"age": 25,
"city": "Palu"
}
user.pop("age")
print(user)
Hasil:
{"name": "Andi", "city": "Palu"}
Key "age" beserta value-nya telah dihapus.
12. .pop() Mengembalikan Value yang Dihapus
Salah satu karakteristik penting .pop() adalah method ini mengembalikan value yang dihapus.
Contohnya:
user = {
"name": "Andi",
"age": 25,
"city": "Palu"
}
removed_value = user.pop("age")
print(removed_value)
Hasil:
25
Dictionary sekarang:
print(user)
Hasil:
{"name": "Andi", "city": "Palu"}
Dengan demikian, .pop() dapat digunakan ketika kita ingin menghapus sekaligus mendapatkan value yang dihapus.
13. Menghapus Item dengan .popitem()
Method .popitem() digunakan untuk menghapus dan mengembalikan satu pasangan key-value.
Pada Python modern, .popitem() menghapus item terakhir yang dimasukkan.
Contohnya:
user = {
"name": "Andi",
"age": 25,
"city": "Palu"
}
removed_item = user.popitem()
print(removed_item)
print(user)
Hasil:
("city", "Palu")
{"name": "Andi", "age": 25}
Pasangan terakhir:
"city": "Palu"
telah dihapus.
14. Perbedaan .pop() dan .popitem()
| Method | Cara Menghapus | Return |
|---|---|---|
.pop(key) | Berdasarkan key | Value |
.popitem() | Item terakhir | Tuple (key, value) |
.clear() | Semua item | None |
Contohnya:
user.pop("age")
menghapus berdasarkan key.
Sedangkan:
user.popitem()
menghapus item terakhir.
15. Mengubah Data dengan .update()
Method .update() digunakan untuk memperbarui dictionary.
Jika key sudah ada, value akan diperbarui.
Contohnya:
user = {
"name": "Andi",
"age": 20
}
user.update({
"age": 25
})
print(user)
Hasil:
{"name": "Andi", "age": 25}
Value "age" berubah dari:
20
menjadi:
25
16. Menambahkan Data dengan .update()
Jika key belum tersedia, .update() akan menambahkan key-value baru.
Contohnya:
user = {
"name": "Andi",
"age": 25
}
user.update({
"city": "Palu"
})
print(user)
Hasil:
{
"name": "Andi",
"age": 25,
"city": "Palu"
}
Jadi .update() dapat digunakan untuk:
Key sudah ada
↓
Update value
Key belum ada
↓
Tambah key-value
17. .update() dengan Dictionary
Cara yang umum adalah memberikan dictionary sebagai argument:
user.update({
"age": 30,
"city": "Palu"
})
Contohnya:
user = {
"name": "Andi",
"age": 25
}
user.update({
"age": 30,
"city": "Palu"
})
print(user)
Hasil:
{
"name": "Andi",
"age": 30,
"city": "Palu"
}
age diperbarui, sedangkan city ditambahkan.
18. Ringkasan Method Dictionary
| Method | Fungsi |
|---|---|
.keys() | Mengambil seluruh key |
.values() | Mengambil seluruh value |
.items() | Mengambil seluruh pasangan key-value |
.copy() | Membuat salinan dictionary |
.clear() | Menghapus seluruh isi |
.pop(key) | Menghapus berdasarkan key |
.popitem() | Menghapus item terakhir |
.update() | Mengubah atau menambahkan data |
19. Contoh Lengkap
user = {
"name": "Andi",
"age": 25,
"city": "Palu"
}
# Memeriksa key
print("name" in user)
# Memeriksa value
print("Andi" in user.values())
# Mengambil semua key
print(user.keys())
# Mengambil semua value
print(user.values())
# Mengambil semua pasangan
print(user.items())
# Mengubah data
user.update({
"age": 26
})
# Menambahkan data
user.update({
"is_active": True
})
print(user)
20. Kesimpulan
Dictionary menyediakan berbagai method untuk mengelola data.
Untuk memeriksa data, gunakan:
"key" in user
atau:
"value" in user.values()
Untuk melihat struktur dictionary, gunakan:
user.keys()
user.values()
user.items()
Untuk menyalin:
user.copy()
Untuk menghapus:
user.pop("key")
user.popitem()
user.clear()
Untuk mengubah atau menambahkan data:
user.update({
"key": "value"
})
Poin penting: .pop() menghapus berdasarkan key dan mengembalikan value yang dihapus, .popitem() menghapus item terakhir dan mengembalikan pasangan key-value, sedangkan .update() dapat digunakan untuk mengubah data yang sudah ada maupun menambahkan data baru.