Ada berbagai cara kamus dapat digabungkan dengan menggunakan berbagai fungsi dan konstruktor di Python. Pada artikel ini, kita akan membahas beberapa cara menggabungkan kamus.
Menggunakan metode pembaruan()
Dengan menggunakan metode update() dengan Python, satu daftar dapat digabungkan dengan yang lain. Namun dalam hal ini, daftar kedua digabungkan ke dalam daftar pertama dan tidak ada daftar baru yang dibuat. Ini mengembalikan Tidak ada.
Contoh.
Python3
# Python code to merge dict using update() method
def Merge(dict1, dict2):
return{'a': 10, 'b': 8, 'd': 6, 'c': 4}0
{'a': 10, 'b': 8, 'd': 6, 'c': 4}_1
{'a': 10, 'b': 8, 'd': 6, 'c': 4}2{'a': 10, 'b': 8, 'd': 6, 'c': 4}3 {'a': 10, 'b': 8, 'd': 6, 'c': 4}4{'a': 10, 'b': 8, 'd': 6, 'c': 4}5{'a': 10, 'b': 8, 'd': 6, 'c': 4}6________0______7{'a': 10, 'b': 8, 'd': 6, 'c': 4}8{'a': 10, 'b': 8, 'd': 6, 'c': 4}9{'a': 10, 'b': 8, 'd': 6, 'c': 4}6{'x': 10, 'a': 6, 'b': 4, 'y': 8}1________11______2
{'x': 10, 'a': 6, 'b': 4, 'y': 8}3{'a': 10, 'b': 8, 'd': 6, 'c': 4}3 {'a': 10, 'b': 8, 'd': 6, 'c': 4}4________11______6{'a': 10, 'b': 8, 'd': 6, 'c': 4}6{'x': 10, 'a': 6, 'b': 4, 'y': 8}8{'a': 10, 'b': 8, 'd': 6, 'c': 4}8{'x': 10, 'y': 8, 'a': 6, 'b': 4}0{'a': 10, 'b': 8, 'd': 6, 'c': 4}6{'x': 10, 'y': 8, 'a': 6, 'b': 4}2{'x': 10, 'a': 6, 'b': 4, 'y': 8}2
{'x': 10, 'y': 8, 'a': 6, 'b': 4}4
{'x': 10, 'y': 8, 'a': 6, 'b': 4}5{'x': 10, 'y': 8, 'a': 6, 'b': 4}6
{'x': 10, 'y': 8, 'a': 6, 'b': 4}7
{'x': 10, 'y': 8, 'a': 6, 'b': 4}5{'x': 10, 'y': 8, 'a': 6, 'b': 4}9
Keluaran
None {'c': 4, 'a': 10, 'b': 8, 'd': 6}Menggunakan ** dengan Python
Ini umumnya dianggap sebagai trik dalam Python di mana satu ekspresi digunakan untuk menggabungkan dua kamus dan disimpan dalam kamus ketiga. Ekspresi tunggalnya adalah **. Ini tidak memengaruhi dua kamus lainnya. ** menyiratkan bahwa argumen adalah kamus. Menggunakan ** [bintang ganda] adalah pintasan yang memungkinkan Anda meneruskan beberapa argumen ke suatu fungsi secara langsung menggunakan kamus. Untuk informasi lebih lanjut lihat **kwargs dengan Python. Dengan menggunakan ini, pertama-tama kita meneruskan semua elemen kamus pertama ke kamus ketiga dan kemudian meneruskan kamus kedua ke kamus ketiga. Ini akan menggantikan kunci duplikat dari kamus pertama.
Contoh.
Python3
1 3 5 60
1 3 5 61
def Merge(dict1, dict2):
1 3 5 65{'a': 10, 'b': 8, 'd': 6, 'c': 4}3 {'a': 10, 'b': 8, 'd': 6, 'c': 4}41 3 5 681 3 5 68# Python code to merge dict using update() method01 3 5 681 3 5 68# Python code to merge dict using update() method3
return 1 3 5 65
{'a': 10, 'b': 8, 'd': 6, 'c': 4}_1
{'a': 10, 'b': 8, 'd': 6, 'c': 4}2{'a': 10, 'b': 8, 'd': 6, 'c': 4}3 {'a': 10, 'b': 8, 'd': 6, 'c': 4}4{'a': 10, 'b': 8, 'd': 6, 'c': 4}5{'a': 10, 'b': 8, 'd': 6, 'c': 4}6________0______7{'a': 10, 'b': 8, 'd': 6, 'c': 4}8{'a': 10, 'b': 8, 'd': 6, 'c': 4}9{'a': 10, 'b': 8, 'd': 6, 'c': 4}6{'x': 10, 'a': 6, 'b': 4, 'y': 8}1________11______2
{'x': 10, 'a': 6, 'b': 4, 'y': 8}3{'a': 10, 'b': 8, 'd': 6, 'c': 4}3 {'a': 10, 'b': 8, 'd': 6, 'c': 4}4________11______6{'a': 10, 'b': 8, 'd': 6, 'c': 4}6{'x': 10, 'a': 6, 'b': 4, 'y': 8}8{'a': 10, 'b': 8, 'd': 6, 'c': 4}8{'x': 10, 'y': 8, 'a': 6, 'b': 4}0{'a': 10, 'b': 8, 'd': 6, 'c': 4}6{'x': 10, 'y': 8, 'a': 6, 'b': 4}2{'x': 10, 'a': 6, 'b': 4, 'y': 8}2
1{'a': 10, 'b': 8, 'd': 6, 'c': 4}3 3
{'x': 10, 'y': 8, 'a': 6, 'b': 4}5 5
Keluaran{'a': 10, 'b': 8, 'd': 6, 'c': 4}
Menggunakan. di Python 3. 9
Di update python terbaru sekarang kita bisa menggunakan “. ” operator untuk menggabungkan dua kamus. Ini adalah metode yang sangat nyaman untuk menggabungkan kamus
Contoh
Python3
_6
_7
1 3 5 61
def Merge(dict1, dict2):
1 3 5 65{'a': 10, 'b': 8, 'd': 6, 'c': 4}3 return4
return 1 3 5 65
return_8
{'a': 10, 'b': 8, 'd': 6, 'c': 4}_1
{'a': 10, 'b': 8, 'd': 6, 'c': 4}2{'a': 10, 'b': 8, 'd': 6, 'c': 4}3 {'a': 10, 'b': 8, 'd': 6, 'c': 4}4{'a': 10, 'b': 8, 'd': 6, 'c': 4}03{'a': 10, 'b': 8, 'd': 6, 'c': 4}6{'a': 10, 'b': 8, 'd': 6, 'c': 4}7{'a': 10, 'b': 8, 'd': 6, 'c': 4}8{'a': 10, 'b': 8, 'd': 6, 'c': 4}07{'a': 10, 'b': 8, 'd': 6, 'c': 4}6{'x': 10, 'a': 6, 'b': 4, 'y': 8}1{'x': 10, 'a': 6, 'b': 4, 'y': 8}2
{'x': 10, 'a': 6, 'b': 4, 'y': 8}3{'a': 10, 'b': 8, 'd': 6, 'c': 4}3 {'a': 10, 'b': 8, 'd': 6, 'c': 4}4{'a': 10, 'b': 8, 'd': 6, 'c': 4}5{'a': 10, 'b': 8, 'd': 6, 'c': 4}6{'x': 10, 'a': 6, 'b': 4, 'y': 8}8{'a': 10, 'b': 8, 'd': 6, 'c': 4}8{'a': 10, 'b': 8, 'd': 6, 'c': 4}9{'a': 10, 'b': 8, 'd': 6, 'c': 4}6{'x': 10, 'y': 8, 'a': 6, 'b': 4}2{'x': 10, 'a': 6, 'b': 4, 'y': 8}2
1{'a': 10, 'b': 8, 'd': 6, 'c': 4}3 3
{'x': 10, 'y': 8, 'a': 6, 'b': 4}5 5
{'a': 10, 'b': 8, 'd': 6, 'c': 4}_27
Keluaran
{'x': 10, 'a': 6, 'b': 4, 'y': 8}Menggunakan metode for loop dan keys()
Python3
_6
{'a': 10, 'b': 8, 'd': 6, 'c': 4}_29
def Merge(dict1, dict2):
{'a': 10, 'b': 8, 'd': 6, 'c': 4}33 {'a': 10, 'b': 8, 'd': 6, 'c': 4}34{'a': 10, 'b': 8, 'd': 6, 'c': 4}35 {'a': 10, 'b': 8, 'd': 6, 'c': 4}36
{'a': 10, 'b': 8, 'd': 6, 'c': 4}37{'a': 10, 'b': 8, 'd': 6, 'c': 4}38{'a': 10, 'b': 8, 'd': 6, 'c': 4}3{'a': 10, 'b': 8, 'd': 6, 'c': 4}40
return {'a': 10, 'b': 8, 'd': 6, 'c': 4}2
{'a': 10, 'b': 8, 'd': 6, 'c': 4}_1
{'a': 10, 'b': 8, 'd': 6, 'c': 4}2{'a': 10, 'b': 8, 'd': 6, 'c': 4}3 {'a': 10, 'b': 8, 'd': 6, 'c': 4}4{'a': 10, 'b': 8, 'd': 6, 'c': 4}03{'a': 10, 'b': 8, 'd': 6, 'c': 4}6{'a': 10, 'b': 8, 'd': 6, 'c': 4}7{'a': 10, 'b': 8, 'd': 6, 'c': 4}8{'a': 10, 'b': 8, 'd': 6, 'c': 4}07{'a': 10, 'b': 8, 'd': 6, 'c': 4}6{'x': 10, 'a': 6, 'b': 4, 'y': 8}1{'x': 10, 'a': 6, 'b': 4, 'y': 8}2
{'x': 10, 'a': 6, 'b': 4, 'y': 8}3{'a': 10, 'b': 8, 'd': 6, 'c': 4}3 {'a': 10, 'b': 8, 'd': 6, 'c': 4}4{'a': 10, 'b': 8, 'd': 6, 'c': 4}5{'a': 10, 'b': 8, 'd': 6, 'c': 4}6{'x': 10, 'a': 6, 'b': 4, 'y': 8}8{'a': 10, 'b': 8, 'd': 6, 'c': 4}8{'a': 10, 'b': 8, 'd': 6, 'c': 4}9{'a': 10, 'b': 8, 'd': 6, 'c': 4}6{'x': 10, 'y': 8, 'a': 6, 'b': 4}2{'x': 10, 'a': 6, 'b': 4, 'y': 8}2
1{'a': 10, 'b': 8, 'd': 6, 'c': 4}3 3
{'x': 10, 'y': 8, 'a': 6, 'b': 4}5 5
{'a': 10, 'b': 8, 'd': 6, 'c': 4}_73
Keluaran{'x': 10, 'y': 8, 'a': 6, 'b': 4}
Satu pendekatan baru untuk menggabungkan kamus dengan Python adalah dengan menggunakan kelas ChainMap bawaan dari modul koleksi. Kelas ini memungkinkan Anda untuk membuat satu tampilan dari beberapa kamus, dan pembaruan atau perubahan apa pun yang dilakukan pada ChainMap akan tercermin dalam kamus yang mendasarinya
Berikut adalah contoh cara menggunakan ChainMap untuk menggabungkan dua kamus
Python3
{'a': 10, 'b': 8, 'd': 6, 'c': 4}74 {'a': 10, 'b': 8, 'd': 6, 'c': 4}75{'a': 10, 'b': 8, 'd': 6, 'c': 4}76 {'a': 10, 'b': 8, 'd': 6, 'c': 4}77
{'a': 10, 'b': 8, 'd': 6, 'c': 4}_78
{'a': 10, 'b': 8, 'd': 6, 'c': 4}2{'a': 10, 'b': 8, 'd': 6, 'c': 4}3 {'a': 10, 'b': 8, 'd': 6, 'c': 4}4{'a': 10, 'b': 8, 'd': 6, 'c': 4}5{'a': 10, 'b': 8, 'd': 6, 'c': 4}6{'a': 10, 'b': 8, 'd': 6, 'c': 4}84{'a': 10, 'b': 8, 'd': 6, 'c': 4}8{'a': 10, 'b': 8, 'd': 6, 'c': 4}9{'a': 10, 'b': 8, 'd': 6, 'c': 4}6{'a': 10, 'b': 8, 'd': 6, 'c': 4}88{'x': 10, 'a': 6, 'b': 4, 'y': 8}2
{'x': 10, 'a': 6, 'b': 4, 'y': 8}3{'a': 10, 'b': 8, 'd': 6, 'c': 4}3 {'a': 10, 'b': 8, 'd': 6, 'c': 4}4________20______0{'a': 10, 'b': 8, 'd': 6, 'c': 4}6{'a': 10, 'b': 8, 'd': 6, 'c': 4}95{'a': 10, 'b': 8, 'd': 6, 'c': 4}8{'x': 10, 'a': 6, 'b': 4, 'y': 8}6{'a': 10, 'b': 8, 'd': 6, 'c': 4}6{'x': 10, 'y': 8, 'a': 6, 'b': 4}2{'x': 10, 'a': 6, 'b': 4, 'y': 8}2
{'x': 10, 'a': 6, 'b': 4, 'y': 8}_01
{'x': 10, 'a': 6, 'b': 4, 'y': 8}02{'a': 10, 'b': 8, 'd': 6, 'c': 4}3 {'x': 10, 'a': 6, 'b': 4, 'y': 8}04
{'x': 10, 'a': 6, 'b': 4, 'y': 8}_05
________20______5{'x': 10, 'a': 6, 'b': 4, 'y': 8}07{'a': 10, 'b': 8, 'd': 6, 'c': 4}5{'x': 10, 'a': 6, 'b': 4, 'y': 8}09{'x': 10, 'a': 6, 'b': 4, 'y': 8}10
________20______5{'x': 10, 'a': 6, 'b': 4, 'y': 8}07{'x': 10, 'y': 8, 'a': 6, 'b': 4}0{'x': 10, 'a': 6, 'b': 4, 'y': 8}09{'x': 10, 'a': 6, 'b': 4, 'y': 8}15
{'x': 10, 'a': 6, 'b': 4, 'y': 8}16{'x': 10, 'y': 8, 'a': 6, 'b': 4}0{'x': 10, 'a': 6, 'b': 4, 'y': 8}18{'a': 10, 'b': 8, 'd': 6, 'c': 4}3 {'x': 10, 'a': 6, 'b': 4, 'y': 8}20 {'x': 10, 'a': 6, 'b': 4, 'y': 8}21
________20______5{'x': 10, 'a': 6, 'b': 4, 'y': 8}07{'x': 10, 'y': 8, 'a': 6, 'b': 4}0{'x': 10, 'a': 6, 'b': 4, 'y': 8}09{'x': 10, 'a': 6, 'b': 4, 'y': 8}26
{'x': 10, 'a': 6, 'b': 4, 'y': 8}_27
{'x': 10, 'a': 6, 'b': 4, 'y': 8}16{'x': 10, 'a': 6, 'b': 4, 'y': 8}29{'x': 10, 'a': 6, 'b': 4, 'y': 8}18{'a': 10, 'b': 8, 'd': 6, 'c': 4}3 {'x': 10, 'a': 6, 'b': 4, 'y': 8}8 {'x': 10, 'a': 6, 'b': 4, 'y': 8}33
________20______5{'x': 10, 'a': 6, 'b': 4, 'y': 8}07{'x': 10, 'a': 6, 'b': 4, 'y': 8}29{'x': 10, 'a': 6, 'b': 4, 'y': 8}09{'x': 10, 'a': 6, 'b': 4, 'y': 8}38
Keluaran1 3 5 6
Menggunakan ChainMap untuk menggabungkan kamus adalah cara yang ringkas dan efisien untuk menggabungkan beberapa kamus, dan memungkinkan Anda memperbarui dan memodifikasi kamus gabungan dengan mudah