Belajar Dasar Python Tipe Data Dictionary Python
Belajar Dasar Python Tipe Data Dictionary Python

Menyambung tulisan pada Tipe Data dan Variabel pada Python, saya ingin menulis lebih lengkap tentang Dictionary Python. Jadi, tipe data dictionary python ini berbeda dari jenis data lainnya yang ada di python. Tidak seperti list, dan tuple yang mengunakan index untuk mengambil data tertentu. Dictionary python menggunakan key dan value, antara key dan value dipisahkan dengan titik dua (:) dan diantara keduanya dipisahkan dengan koma (,) yang semua itu dibungkus menggunakan kurung kurawal {}.

Nilai pada value bisa berisi tipe data apapun, juga termasuk dictionary. Sedangkan pada nilai key harus berupa data yang tidak bisa diubah. Setiap key tidak boleh sama dengan yang lain, sementara valeu berisi bebas.

Contoh Dictionary Python

Aturan dasar membuat kamus adalah seperti ini. var = { 'key':'value' }

Contoh dictionary python sederhana, bisa dilihat seperti berikut yang berisi tiga item

dict = { 'nama': 'Edi', 'alamat': 'nomaden', 'umur': 34 }

Dimana 'nama', 'alamat', 'umur' adalah key. Dan 'Edi', 'nomaden', 34 adalah value. Kita bisa mengambil data pada dict hanya keynya saja atau valuenya saja, juga bisa semuanya.

Item bisa berisi kamus dalam kamus

var = {
            "id": "21",
            "state": "0",
            "price": "22",
            "exc_price": "179",
            "downloads": "6",
            "is_flash": "0",
            "is_adult": "0",
            "is_full_site": "0",
            "inserted_date": "2002-05-01 00:00:00",
            "update_date": "",
            "is_real_size": "1",
            "template_type": {
                "type_id": "1",
                "type_name": "Website Templates"
            },
            "author": {
                "author_id": "421",
                "author_nick": "WT"
            },
            "package": {
                "package_id": "22"
            },
            "properties": {
                "property0": {
                    "propertyName": "Animation",
                    "propertyValues": {
                        "propertyValue0": "Static"
                    }
                },
                "property1": {
                    "propertyName": "productFamily",
                    "propertyValues": {
                        "propertyValue0": "None"
                    }
                },
                "property2": {
                    "propertyName": "template-icon",
                    "propertyValues": {
                        "propertyValue0": "icon-monster_dark"
                    }
                }
            },
            "screenshots_list": {
                "screenshot1": {
                    "uri": "https://edikartono.com",
                    "filemtime": "2006-06-30 09:06:24"
                }
             }
          }

Membuat dictionary juga bisa menggunakan constructio dict() Contoh pets = dict(kucing="cat", sapi="cow", kambing="goat", kuda="horse", harimau="tiger") hasil dari variabel pets adalah {'kucing':'cat', 'sapi':'cow', 'kambing':'goat', 'kuda':'horse', 'harimau':'tiger'}

Mengakses Dictyonary Python

Gunakan kurung siku [] untuk mengakses item print(pets['sapi']). Dan untuk mengakses item pada variabel var di atas adalah seperti ini

Jika kita menggunakan print(var), maka akan menghasilkan output seprti ini

print(var)
{'exc_price': '179', 'id': '21', 'is_adult': '0', 'update_date': '', 'is_full_site': '0', 'is_real_size': '1', 'screenshots_list': {'screenshot1': {'uri': 'https://edikartono.com', 'filemtime': '2006-06-30 09:06:24'}}, 'state': '0', 'template_type': {'type_name': 'Website Templates', 'type_id': '1'}, 'is_flash': '0', 'properties': {'property1': {'propertyValues': {'propertyValue0': 'None'}, 'propertyName': 'productFamily'}, 'property0': {'propertyValues': {'propertyValue0': 'Static'}, 'propertyName': 'Animation'}, 'property2': {'propertyValues': {'propertyValue0': 'icon-monster_dark'}, 'propertyName': 'template-icon'}}, 'inserted_date': '2002-05-01 00:00:00', 'price': '22', 'author': {'author_id': '421', 'author_nick': 'WT'}, 'downloads': '6', 'package': {'package_id': '22'}}

Jelas ini susah untuk dibaca, maka kita coba cara lain agar hasil outputnya lebih manusiawi

print(var['id'] + ', '+ var['template_type']['type_name'])
21, Website Templates
print(var['id'] + ', '+ var['template_type']['type_name']+', '+ var['screenshots_list']['screenshot1']['uri'])
21, Website Templates, https://edikartono.com

Menggunakan Perulangan

Untuk mengakses semua isi dictionary bisa menggunakan for seperti ini

for k in var:
...     print(var[k])
... 
179
21
0

0
1
{'screenshot1': {'uri': 'https://edikartono.com', 'filemtime': '2006-06-30 09:06:24'}}
0
{'type_name': 'Website Templates', 'type_id': '1'}
0
{'property1': {'propertyValues': {'propertyValue0': 'None'}, 'propertyName': 'productFamily'}, 'property0': {'propertyValues': {'propertyValue0': 'Static'}, 'propertyName': 'Animation'}, 'property2': {'propertyValues': {'propertyValue0': 'icon-monster_dark'}, 'propertyName': 'template-icon'}}
2002-05-01 00:00:00
22
{'author_id': '421', 'author_nick': 'WT'}
6
{'package_id': '22'}

Atau bisa juga seperti ini

for k, v in var.items():
...     print("%s : %s" % (k, v))
... 
exc_price : 179
id : 21
is_adult : 0
update_date : 
is_full_site : 0
is_real_size : 1
screenshots_list : {'screenshot1': {'uri': 'https://edikartono.com', 'filemtime': '2006-06-30 09:06:24'}}
state : 0
template_type : {'type_name': 'Website Templates', 'type_id': '1'}
is_flash : 0
properties : {'property1': {'propertyValues': {'propertyValue0': 'None'}, 'propertyName': 'productFamily'}, 'property0': {'propertyValues': {'propertyValue0': 'Static'}, 'propertyName': 'Animation'}, 'property2': {'propertyValues': {'propertyValue0': 'icon-monster_dark'}, 'propertyName': 'template-icon'}}
inserted_date : 2002-05-01 00:00:00
price : 22
author : {'author_id': '421', 'author_nick': 'WT'}
downloads : 6
package : {'package_id': '22'}

Mengubah Nilai

Dictionary pada python bersifat mutable yang artinya nilainya bisa diubah, untuk mengubah nilai dapat menggunakan nama_dict['key']='nilai baru'. Penerapan dalam dunia nyata adalah. Contoh kita akan mengubah key update_date pada nama dict var

# cetak nilai update_date
print(var['update_date'])

# mengubah nilai update_date
var['update_date']='2020-04-28 00:00:00'

# cetak kembali update_date
print(var['update_date'])
2020-04-28 00:00:00

Sebelum mengubah nilai update_date saya hanya memastikan bahwa nilai awal update_date, dalam contoh ini update_date tidak ada isinya. Kemudian saya baru mengubah nilainya dan menampilkan kembali untuk memastikan isinya sudah berubah.

Menghapus Dictionary

Menggunakan fungsi del()

>>> del var['properties']
>>> var
{'exc_price': '179', 'id': '21', 'is_adult': '0', 'update_date': '2020-04-28 00:00:00', 'is_full_site': '0', 'is_real_size': '1', 'screenshots_list': {'screenshot1': {'uri': 'https://edikartono.com', 'filemtime': '2006-06-30 09:06:24'}}, 'state': '0', 'template_type': {'type_name': 'Website Templates', 'type_id': '1'}, 'is_flash': '0', 'inserted_date': '2002-05-01 00:00:00', 'price': '22', 'author': {'author_id': '421', 'author_nick': 'WT'}, 'downloads': '6', 'package': {'package_id': '22'}}
>>> 

Anda juga bisa menghapus seluruhnya sekaligus dengan method clear() contoh var.clear()

Menambah item

Untuk menambah item gunakan method update(), apabila item yang dimasukkan ternyata sudah ada, maka method ini akan berfungsi untuk mengubah nilainya

>>> var.update({'dev':'Developer Only'})
>>> print(var['dev'])
Developer Only
>>> var.update({'dev':'For all member'})
>>> print(var['dev'])
For all member
>>> 

Akhir Kata

Setelah kita mengetahui apa saja yang bisa dilakukan dan terhadap dictionary python, maka telah bertambah pengetahuan terhadap dasar python. Dan masih banyak yang belum dipelajari di sini. Maka kita tidak henti belajar dasar python selanjutnya