7 days of WordPress plugins, themes & templates - for free!* Unlimited asset downloads! Start 7-Day Free Trial
Advertisement
  1. Code
  2. Python

Bagaimana Menggabungkan Dua Python Dictionaries

Read Time: 3 mins

Indonesian (Bahasa Indonesia) translation by Yosef Andreas (you can also view the original English article)

Dalam tutorial sebelumnya kita belajar tentang Python Dictionaries, dan melihat bahwa mereka dinyatakan sebagai set tak beraturan dengan pasangan key/value, dimana keys digunakan untuk mengakses item yang berlawanan posisi, contohnya seperti dalam sebuah daftar.

Dalam tip singkat ini, saya akan menunjukkan bagaimana menggabungkan dua dictionaries bersama-sama.

Metode Update()

Mari katakan kita memiliki dua dictionaries berikut:

Bagaimana kita dapat menggabungkan dua dictionaries dalam dalam satu dictionary tunggal? Function yang kita dapat gunakan untuk hal ini adalah update([other]). Seperti dinyatakan dalam dokumentasi Python:

Update dictionary dengan pasangan key/value dari lainnya, menulis ulang keys yang ada. Mengembalikan None.
update() menerima obyek dictionary lainnya atau sebuah pasangan key/value iterable (seperti tuples atau iterable lainnya sepanjang dua) Jika argument keyword ditentukan, dictionary akan diupdate dengan pasangan key/value tersebut: d.update(red=1, blue=2).

Jadi, untuk menggabungkan dua dictionaries di atas, kita dapat mengetikkan berikut:

dict2.update(dict1)

Katakan bahwa kamu mengetikkan pernyataan di bawah untuk melihat hasilnya:

print dict2.update(dict1)

Dalam hal ini kamu akan mendapatkan None! Ini karena function update() tidak mengembalikan sebuah dictionary baru. Untuk mendapatkan hasil penggabungan, cukup ketikkan berikut:

print dict2

Dalam hal tersebut, kamu akan mendapatkan output berikut:

{'bookA': 1, 'bookB': 2, 'bookC': 3, 'bookD': 4, 'bookE': 5}

Bagaimana jika kita melakukan di bawah ini?

Dalam hal ini, kamu akan mendapatkan output di bawah:

{'bookA': 1, 'bookB': 2, 'bookC': 2, 'bookD': 4, 'bookE': 5}

Perhatikan kasus pertama, dict2.update(dict1), kita mengupdate dictionary dict2 dengan pasangan key/value dari dict1, dan menulis ulang tiap keys yang ada. Key yang ada yang dapat kita perhatikan adalah 'bookC', yang akan memiliki nilai 3 dalam kasus ini, karena kita mengupdate dengan pasangan key/value dari dict1. Ini akan dibalikkan dengan kasus berikutnya, dict1.update(dict2), dimana kita mengupdate dictionary dict1 dengan pasangan key/value dari dict2.

Bagaimana pun juga, ada sebuah isu menggunakan update() untuk menggabungkan dua dictionaries. Isu itu berada dalam fakta bahwa dictionary asli dapat dimodifikasi. Dengan kata lain, dalam contoh kasus pertama, dict2.update(dict1), versi asli dict2 dapat dimodifikasi, dan dalam kasus selanjutnya, dict1.update(dict2), versi asli dict1 dapat dimodifikasi. Itu untuk mengatakan bahwa kamu dapat menggunakan update() untuk menggabungkan dua dictionaries jika kamu tidak tertarik dalam menyimpan versi asli dictionary yang perlu kamu update. Maksud versi asli di sini adalah menyimpan nilai key tersebut.

Menggabungkan Dua Dictionaries Dalam Ekspresi Tunggal

Metode lainnya yang dapat kamu gunakan untuk menggabungkan dua dictionaries, dimana kamu dapat melakukan tugas tertentu dalam sebuah ekspresi tunggal, adalah sebagai berikut:

print dict(dict2, **dict1)

Output pernyataan ini adalah:

{'bookA': 1, 'bookB': 2, 'bookC': 3, 'bookD': 4, 'bookE': 5}

Sehingga, dict1 menghilangkan dict2. Jika kita ingin dict2 menghilangkan dict1, kita mengetikkan:

print dict(dict1, **dict2)

Output dalam kasus ini akan menjadi:

{'bookA': 1, 'bookB': 2, 'bookC': 2, 'bookD': 4, 'bookE': 5}

Menyimpan Nilai Key

Kembali pada isu sebelumnya tentang menyimpan nilai key, bagaimana kita dapat menggabungkan dua dictionaries sembari menyimpan aslinya dari tiap dictionary?

Sebuah solusi untuk ini dapat menjadi sebagai berikut (diambil dari jawaban dalam thread StackOverflow ini):

Output dalam kasus ini akan menjadi:

Jadi, seperti yang dapat kamu lihat dalam tip singkat ini, sangat mudah untuk menggabungkan dua dictionaries menggunakan Python, dan itu menjadi sedikit lebih kompleks jika kita ingin menyimpan nilai key yang sama dalam tiap dictionary.

Advertisement
Did you find this post useful?
Want a weekly email summary?
Subscribe below and we’ll send you a weekly email summary of all new Code tutorials. Never miss out on learning about the next big thing.
Advertisement
Scroll to top
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.