Bagaimana cara memperbarui dua kamus dengan python?

Catatan. Jika ada dua kunci dengan nama yang sama, kamus gabungan berisi nilai kunci terakhir


Contoh 2. Menggunakan Operator **

dict_1 = {1: 'a', 2: 'b'}
dict_2 = {2: 'c', 4: 'd'}

print({**dict_1, **dict_2})

Keluaran

{1: 'a', 2: 'c', 4: 'd'}
_

Dalam program di atas, kami telah menggunakan ** untuk membongkar kamus dict_1 dan dict_2. Kemudian, kamus digabungkan dengan menempatkannya di dalam {}

Untuk mengetahui lebih lanjut tentang **kwargs, kunjungi Python *args dan **kwargs

Catatan. Kode di atas berfungsi untuk Python 3. 5 dan di atas versi


Contoh 3. Menggunakan salin() dan perbarui()

dict_1 = {1: 'a', 2: 'b'}
dict_2 = {2: 'c', 4: 'd'}

dict_3 = dict_2.copy()
dict_3.update(dict_1)

print(dict_3)

Keluaran

{2: 'b', 4: 'd', 1: 'a'}

Di sini, pertama-tama kita menyalin elemen dict_2 ke

{1: 'a', 2: 'c', 4: 'd'}
0 menggunakan metode dictionary copy(). Kemudian, kami memperbarui
{1: 'a', 2: 'c', 4: 'd'}
_0 dengan nilai
{1: 'a', 2: 'c', 4: 'd'}
2 menggunakan metode dictionary update()

Dalam tutorial sebelumnya, kita belajar tentang Python Dictionaries dan melihat bahwa mereka dianggap sebagai kumpulan yang tidak terurut dengan pasangan

books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}
28, di mana kunci digunakan untuk mengakses item yang bertentangan dengan posisi, seperti dalam daftar misalnya

Dalam tip singkat ini, saya akan menunjukkan cara menggabungkan (menggabungkan) dua kamus menjadi satu. Sebelum kita mulai, saya sarankan Anda membuka IDE Python online ini untuk menjalankan blok kode berikut dan melihat hasilnya

Menggunakan Metode books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'} _29

Katakanlah kita memiliki dua kamus berikut

1
books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}
2
books2 = {4: 'JavaScript and jQuery', 5: 'Simplifying JavaScript'}

Bagaimana kita bisa menggabungkan kedua kamus itu dalam satu kamus? . Sebagaimana dinyatakan dalam dokumentasi Python

Perbarui kamus dengan pasangan kunci/nilai dari yang lain, menimpa kunci yang sudah ada. Kembalikan 
books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}
_31
menerima objek kamus lain atau iterable dari pasangan kunci/nilai (sebagai tupel atau iterable lainnya dengan panjang dua). Jika argumen kata kunci ditentukan, kamus kemudian diperbarui dengan pasangan kunci/nilai tersebut.
books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}
_33

Jadi, untuk menggabungkan kamus

books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}
_34 menjadi
books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}
35, sertakan dan jalankan kode berikut di IDE Python Anda

1
books1.update(books2)
2
3
print(books1)

Dalam hal ini, Anda akan mendapatkan output berikut

1
books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}
0
2
books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}
2
3

Jika Anda menggabungkan

books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}
_35 menjadi
books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}
34 seperti pada kode berikut

1
books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}
2
books2 = {4: 'JavaScript and jQuery', 5: 'Simplifying JavaScript'}
3
books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}
9
2
0
2
1
2
2
2
3

Anda akan mendapatkan kamus yang disusun ulang sebagai output

1
2
5
2
2
7
3

Namun, ada masalah saat menggunakan

books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}
29 untuk menggabungkan dua kamus. Masalahnya terletak pada kenyataan bahwa kamus asli dapat dimodifikasi. Dengan kata lain, dalam kasus pertama misalnya,
books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}
39 , versi asli dari
books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}
35 could be modified, and in the latter case,
books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}
41, the original version of
books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}
34, could be modified.

Misalnya, perhatikan kamus yang disusun ulang berikut ini

1
books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}
2
books2 = {4: 'JavaScript and jQuery', 5: 'Simplifying JavaScript'}
2
3
books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}
9
books1.update(books2)
2
1
2
2
print(books1)
books2 = {4: 'JavaScript and jQuery', 5: 'Simplifying JavaScript'}
9

Seperti yang mungkin telah Anda amati, kedua kamus memiliki kunci yang sama, yaitu

books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}
43

Dalam hal ini, contoh pertama (yaitu, 'Pelajari JavaScript Secara Visual') akan dibuang, sehingga keluaran berikut akan ditampilkan

1
1
1
2
1
3
3

Kita akan belajar tentang cara menghindari perilaku ini nanti

Melewati Semua Item ke Kamus Baru dalam books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'} 44 Loop

Anda juga dapat menggabungkan dua kamus menggunakan loop Python

books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}
44

Dalam hal ini, kami akan menetapkan kamus kosong ke variabel — yang saya sebut

books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}
46 — dan kemudian untuk setiap kali kami mengulangi kedua kamus (yaitu,
books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}
35 dan
books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}
34), kami ingin menetapkan kunci dan nilai masing-masing .
books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}
_46

Ini kode untuk itu

1
1
6
2
1
8
3
books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}
9
books1.update(books2)
1____111__________
books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}
__________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

Kode ini juga akan memberikan output yang diinginkan

1
books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}
0
2
2
8
3

Menggabungkan Dua Kamus dalam Ekspresi Tunggal Dengan Tanda Bintang Ganda

Metode lain yang dapat Anda gunakan untuk menggabungkan dua kamus, di mana Anda dapat melakukan tugas seperti itu dalam satu ekspresi, adalah dengan operator tanda bintang ganda (

books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}
50)

1
books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}
2
books2 = {4: 'JavaScript and jQuery', 5: 'Simplifying JavaScript'}
3
books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}
9
3
6
2
1
2
2
2
4
books2 = {4: 'JavaScript and jQuery', 5: 'Simplifying JavaScript'}
9

Menggunakan tanda bintang ganda menandakan bahwa kita ingin menggabungkan kamus

books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}
34 menjadi
books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}
35

Menjalankan kode ini akan memberi Anda 

books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}
53 pesan. Agar kode ini berfungsi, Anda harus mengubah kunci menjadi string

1
1
6
2
1
8
3
books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}
9
3
6
2
1
2
2
2
4
books2 = {4: 'JavaScript and jQuery', 5: 'Simplifying JavaScript'}
9

Sekarang, menjalankan kode akan memberi Anda hasil yang diinginkan

1
1
3
2
1
5
3

Mempertahankan Nilai Kunci

Kembali ke masalah sebelumnya tentang mempertahankan nilai kunci, bagaimana kita dapat menggabungkan dua kamus sambil mempertahankan aslinya dari setiap kamus?

Solusinya adalah sebagai berikut (diambil dari jawaban di )

1
1
8
2
books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}
00
3
books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}
9
books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}
2
1
books2 = {4: 'JavaScript and jQuery', 5: 'Simplifying JavaScript'}
2
2
2
books2 = {4: 'JavaScript and jQuery', 5: 'Simplifying JavaScript'}
9
books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}
08
books1.update(books2)
7
books1.update(books2)
9
books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}
11
2
1
books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}
13
2
3
books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}
15
books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}
16
books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}
17
books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}
18

Output dalam hal ini adalah

1
books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}
20
2
books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}
22
3
books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}
24
books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}
9
books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}
26
2
1

Jadi, seperti yang bisa Anda lihat dari tip singkat ini, sangat mudah untuk menggabungkan dua kamus menggunakan Python, dan ini menjadi sedikit lebih rumit jika kita ingin mempertahankan nilai dari kunci yang sama di setiap kamus

Posting ini telah diperbarui dengan kontribusi dari Kingsley Ubah. Kingsley bersemangat membuat konten yang mengedukasi dan menginspirasi pembaca. Hobinya antara lain membaca, sepak bola, dan bersepeda

Bagaimana cara memperbarui kamus dengan kamus lain dengan Python?

Python Dictionary update() memperbarui kamus dengan elemen dari objek kamus lain atau dari iterable pasangan kunci/nilai. .
Sintaksis. dikt. perbarui([lainnya])
Parameter. Metode ini menggunakan kamus atau objek pasangan kunci/nilai yang dapat diubah (umumnya tupel) sebagai parameter

Bagaimana Anda menghubungkan dua kamus dengan Python?

Piton 3. 9 telah memperkenalkan operator gabungan (. ) di kelas dict. Menggunakan operator gabungan, kita dapat menggabungkan kamus dalam satu baris kode. Kami juga dapat menggabungkan kamus di tempat dengan menggunakan operator pembaruan (. =)

Bagaimana Anda memperbarui daftar kamus dengan Python?

Metode 1. Menggunakan fungsi append() . Sintaksis. kamus[baris]['kunci']. tambahkan('nilai')

Apakah mungkin memperbarui kamus dengan Python?

Metode pembaruan Kamus Python (). . Item yang ditentukan dapat berupa kamus, atau objek yang dapat diubah dengan pasangan nilai kunci. The update() method inserts the specified items to the dictionary. The specified items can be a dictionary, or an iterable object with key value pairs.