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 ...
- » Website Baru
- » Global Dot di NodeJS
- » Compound Component
- » Membuat Public API di Komponen React dengan useImperativeHandle
- » useContext untuk Global State