Apps Artificial Intelligence CSS DevOps Go JavaScript Laravel Linux MongoDB MySQL PHP Python Rust Vue

Menggabungkan Beberapa dictionary dalam Satu Ekspresi di Python

1 min read .
Menggabungkan Beberapa dictionary dalam Satu Ekspresi di Python

Menggabungkan dictionary adalah tugas yang sering ditemui dalam pemrograman Python, apalagi saat bekerja dengan data dari berbagai sumber. Dictionary di Python memungkinkan kita menyimpan pasangan kunci-nilai dengan fleksibilitas tinggi. Di sini, kita akan bahas beberapa cara untuk menggabungkan beberapa dictionary menjadi satu dengan satu ekspresi, dari yang sederhana sampai yang lebih modern.

1. Menggunakan Operator ** (Python 3.5+)

Sejak Python 3.5, kita bisa memanfaatkan operator ** untuk unpack dictionary dan menggabungkannya dalam satu ekspresi. Cara ini ringkas dan mudah dibaca.

dict1 = {"a": 1, "b": 2}
dict2 = {"b": 3, "c": 4}
dict3 = {"d": 5}

merged_dict = {**dict1, **dict2, **dict3}
print(merged_dict)

Jika ada kunci yang sama, nilai dari dictionary yang muncul belakangan akan menimpa yang sebelumnya, seperti terlihat pada kunci "b".

2. Menggunakan Metode dict.update()

Metode update() bisa digunakan untuk menggabungkan dictionary dengan memperbarui isi dictionary yang sudah ada. Kombinasikan dengan salinan dictionary awal untuk membuat satu dictionary baru.

dict1 = {"a": 1, "b": 2}
dict2 = {"b": 3, "c": 4}
dict3 = {"d": 5}

merged_dict = dict1.copy()
merged_dict.update(dict2)
merged_dict.update(dict3)

print(merged_dict)

Metode ini jelas dan praktis, meskipun membutuhkan beberapa panggilan update().

3. Menggunakan Operator | (Python 3.9+)

Sejak Python 3.9, sintaks penggabungan dictionary semakin sederhana dengan operator |, yang membuat kode lebih intuitif.

dict1 = {"a": 1, "b": 2}
dict2 = {"b": 3, "c": 4}
dict3 = {"d": 5}

merged_dict = dict1 | dict2 | dict3
print(merged_dict)

Hasilnya sama seperti operator **, tetapi lebih modern dan mudah dipahami.

4. Menggunakan collections.ChainMap (Untuk Kasus Lanjutan)

Untuk kasus lanjutan, jika ingin melihat beberapa dictionary seolah-olah tergabung tanpa membuat dictionary baru, ChainMap bisa jadi solusi.

from collections import ChainMap

dict1 = {"a": 1, "b": 2}
dict2 = {"b": 3, "c": 4}
dict3 = {"d": 5}

merged_dict = ChainMap(dict1, dict2, dict3)
print(merged_dict)

ChainMap tidak benar-benar menggabungkan dictionary, tapi memberikan tampilan seolah-olah mereka tergabung. Berguna jika kamu ingin menjaga dictionary asli tetap utuh.

Kesimpulan

Menggabungkan beberapa dictionary di Python bisa dilakukan dengan berbagai cara, tergantung kebutuhan dan versi Python yang digunakan. Operator ** cocok untuk kebanyakan kasus, sementara operator | di Python 3.9+ memberikan sintaks modern yang lebih intuitif. Untuk skenario lanjutan, ChainMap memungkinkan kita bekerja dengan banyak dictionary sebagai satu unit tanpa benar-benar menggabungkannya.

Lihat Juga

chevron-up