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

1books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'} 2books2 = {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

1books1.update(books2) 23print(books1)

Dalam hal ini, Anda akan mendapatkan output berikut

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

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

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

Anda akan mendapatkan kamus yang disusun ulang sebagai output

1252273

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

1books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'} 2books2 = {4: 'JavaScript and jQuery', 5: 'Simplifying JavaScript'} 23books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'} 9books1.update(books2) 2122print(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

1112133

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

1162183books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'} 9books1.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

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

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)

1books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'} 2books2 = {4: 'JavaScript and jQuery', 5: 'Simplifying JavaScript'} 3books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'} 936212224books2 = {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

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

Sekarang, menjalankan kode akan memberi Anda hasil yang diinginkan

1132153

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 )

1182books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'} 003books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'} 9books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'} 21books2 = {4: 'JavaScript and jQuery', 5: 'Simplifying JavaScript'} 222books2 = {4: 'JavaScript and jQuery', 5: 'Simplifying JavaScript'} 9books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'} 08books1.update(books2) 7books1.update(books2) 9books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'} 1121books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'} 1323books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'} 15books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'} 16books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'} 17books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'} 18

Output dalam hal ini adalah

1books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'} 202books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'} 223books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'} 24books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'} 9books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'} 2621

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.

Postingan terbaru

LIHAT SEMUA