Python 101: Dictionary

Dictionary adalah tipe data yang nggak berurutan. Isinya koleksi data dalam bentuk pasangan key & value, sama dengan Object di JavaScript. Bedanya kalo bikin key di Python harus pake string.

Jadi kode begini, yg valid di JS, di Python ga bisa dipake:

person = { name: 'boss' }

# error
NameError: name 'name' is not defined

Cara aksesnya juga sama dengan Object di JS, pake sintaks [key]. Tapi di Python nggak bisa pake dot-notation.

person = { 'name': 'boss', 'age': 40 }

print(person['name'])
# output
boss


print(person.age)
# error
AttributeError: 'dict' object has no attribute 'age'

Pake get() untuk Mengakses Value

Kalo pake bracket-notation, kita bakal dapet error kalo key-nya ga ada.

person = { 'name': 'boss', 'age': 40 }
print(person['gender'])

#error
KeyError: 'gender'

Untuk menghindari error begini, kita pake get().

person = { 'name': 'boss', 'age': 40 }
print(person.get('gender'))

# ga ada error

get() bisa nerima 2 argumen, yang pertama nama key-nya, yang kedua default value untuk kondisi key-nya ga ada.

person = { 'name': 'boss', 'age': 40 }
gender = person.get('gender', 'No Gender')

print(gender)

# output
No Gender

Iterasi Semua Key & Value

Untuk akses semua key pake loop, kita pake for-loop. Tapi sebelumnya kita harus bikin list yang isinya semua pasangan key-value. Untuk itu kita pake fungsi items().

person = { 'name': 'boss', 'age': 40, 'city': 'Malang', 'country': 'Indonesia' }

items = person.items()
print(items)

#outputnya list yg isinya tuple (key,value)
dict_items([('name', 'boss'), ('age', 40), ('city', 'Malang'), ('country', 'Indonesia')])

Habis itu baru kita pake for-loop.

for k,v in items:
    print('Key: {0} | value: {1}'.format(k,v))


#output
Key: name | value: boss
Key: age | value: 40
Key: city | value: Malang
Key: country | value: Indonesia

Iterasi Semua Key

Kalo kita cuma butuh key-nya & ga butuh value-nya, kita bisa pake fungsi keys(). Mirip Object.keys() di JS.

person = { 'name': 'boss', 'age': 40, 'city': 'Malang', 'country': 'Indonesia' }

keys = person.keys()
print(keys)

#output
dict_keys(['name', 'age', 'city', 'country'])

Secara default, Python baca key kalo kita jalanin operasi for-loop untuk Dictionary, jadi nggak perlu secara eksplisit panggil fungsi keys().

person = { 'name': 'boss', 'age': 40, 'city': 'Malang', 'country': 'Indonesia' }

# nggak perlu person.keys()
for k in person:
    print(k)

#output
name
age
city
country

Iterasi Semua Value

Kebalikan dari yang di atas, kita juga bisa akses semua value tanpa peduli key-nya pake fungsi values().

person = { 'name': 'boss', 'age': 40, 'city': 'Malang', 'country': 'Indonesia' }

values = person.values()
print(values)

# output
dict_values(['boss', 40, 'Malang', 'Indonesia'])

Habis itu bisa di-loop.

for v in values:
    print(v)

# output
boss
40
Malang
Indonesia

Also in this category ...


Leave a Reply

Your email address will not be published. Required fields are marked *