Python For Loop (Dictionary)

Reno Iqbalsah

11/05/2023

Bagian ini membahas penggunaan for loop untuk mengiterasi tipe data dictionary dalam bahasa pemrograman Python.

Dictionary juga merupakan salah satu tipe data iterable dalam bahasa pemrograman Python, hanya saja perlakuannya sedikit berbeda dengan iterables yang lainnya, karena dict menggunakan key - value pair untuk menyatakan elemen-elemen dalam objek tersebut.

Iterasi Langsung pada Sebuah Dictionary

Jika kita melakukan iterasi pada sebuah dict, maka kita akan mendapatkan seluruh key dalam dictionary tersebut.

    
mafa = { "Rudi" : "nasi goreng", "Rani" : "rendang", "Rendi" : "soto ayam" } for nama in mafa: print(nama, end=" ") # output : Rudi Rani Rendi

Menggunakan Metode .keys()

Metode ini berlaku sama persis seperti saat kita mengiterasi sebuah dictionary secara langsung. Hanya saja, metode .keys() akan mengambil seluruh key pada sebuah dict dan mengubahnya menjadi list.

    
mafa = { "Rudi" : "nasi goreng", "Rani" : "rendang", "Rendi" : "soto ayam" } print(mafa.keys()) for nama in mafa.keys(): print(nama, end=" ") # output : # dict_keys(["Rudi", "Rani", "Rendi"]) # Rudi Rani Rendi

Selain kode di atas, kita juga dapat memanfaatkan iterasi keys dari sebuah dict untuk mendapatkan values-nya. Kita dapat sedikit memodifikasi for loop di atas menjadi seperti di bawah ini.

    
mafa = { "Rudi" : "nasi goreng", "Rani" : "rendang", "Rendi" : "soto ayam" } for nama in mafa.keys(): print(f"{nama} suka makan {mafa[nama]}") # output : # Rudi suka makan nasi goreng # Rani suka makan rendang # Rendi suka makan soto ayam

Kode di atas juga dapat juga digunakan dengan mengiterasi dict secara langsung tanpa menggunakan metode .keys()

Menggunakan Metode .values()

Dengan metode .values(), kita akan mendapatkan seluruh value dari sebuah dictionary.

    
mafa = { "Rudi" : "nasi goreng", "Rani" : "rendang", "Rendi" : "soto ayam" } for makan in mafa.values(): print(makan) # output : # nasi goreng # rendang # soto ayam

Menggunakan Metode .items()

Metode .items() mengubah sebuah dictionary menjadi list berisi tuple yang di dalamnya memuat pasangan key dan value dari sebuah dict. Agar lebih mudah, coba jalankan kode ini.

    
mafa = { "Rudi" : "nasi goreng", "Rani" : "rendang", "Rendi" : "soto ayam" } print(mafa.items()) # output : dict_items([("Rudi", "nasi goreng"), ("Rani", "rendang"), ("Rendi", "soto ayam")])

Lalu, bagaimana cara kita mendapatkan elemen key dan value dari dictionary tersebut? Kita dapat melakukannya dengan menggabungkan for loop dengan tuple unpacking.

    
mafa = { "Rudi" : "nasi goreng", "Rani" : "rendang", "Rendi" : "soto ayam" } for name, food in mafa.items(): print(f"{name} suka makan {food}") # output : # Rudi suka makan nasi goreng # Rani suka makan rendang # Rendi suka makan soto ayam

Pada kode di atas, notasi name, food akan me-refer pada setiap tuple hasil dari metode mafa.items() dan melakukan unpacking untuk masing-masing tuple. Proses iterasi terjadi seperti di bawah ini:

Challange: Naik Gaji

PT Mager Digital Solutions ingin menaikkan gaji bagi software engineer dan data scientist karena sudah memberikan kinerja yang sangat baik. Daftar pegawai pada PT MDS adalah sebagai berikut:

NamaJabatan
RenoCEO
ShanSoftware Engineer
LakusaeData Scientist
RayyaCFO

Masukkan data tersebut ke dalam sebuah dict, dan keluarkan output:

"Gaji {nama pegawai} tahun ini {naik/tidak naik}"

Gunakan metode manapun yang menurut kalian paling mudah. Lihat jawabannya di sini:

Jawaban Challenge Naik Gaji

    
pegawai = { "Reno" : "CEO", "Shan" : "Software Engineer", "Lakusae" : "Data Scientist", "Rayya" : "CFO" } for nama, jabatan in pegawai.items(): ket_gaji = "" if jabatan in ["Software Engineer", "Data Scientist"]: ket_gaji = "naik" else: ket_gaji = "tidak naik" print(f"Gaji {nama} tahun ini {ket_jabatan}")