Pada artikel ini kita akan membahas berbagai cara untuk menggabungkan dua kamus atau lebih. Juga, tangani skenario di mana kita perlu menyimpan nilai kunci umum alih-alih menimpanya
Menggabungkan dua kamus menggunakan dict. memperbarui()
Di Python, kelas Kamus menyediakan fungsi update() i. e
dict.update([other])Itu menerima kamus lain atau objek Iterable (kumpulan pasangan nilai kunci) sebagai argumen. Kemudian gabungkan konten kamus yang diteruskan ini atau Iterable dalam kamus saat ini
Mari gunakan fungsi update() ini untuk menggabungkan dua kamus
Iklan
Misalkan kita memiliki dua kamus i. e
# Create first dictionary dict1 = { 'Ritika': 5, 'Sam': 7, 'John' : 10 } # Create second dictionary dict2 = {'Aadi': 8,'Sam': 20,'Mark' : 11 } _Kedua kamus memiliki kunci umum 'Sam' dengan nilai yang berbeda. Sekarang mari gabungkan konten dict2 di dict1 i. e
# Merge contents of dict2 in dict1 dict1.update(dict2) print('Updated dictionary 1 :') print(dict1)Sekarang isi dict1 adalah,
{'Ritika': 5, 'Sam': 20, 'John': 10, 'Aadi': 8, 'Mark': 11}Semua elemen di dict2 ditambahkan ke dict1. Kunci yang umum di kedua kamus akan berisi nilai seperti dict2. Pada dasarnya kamus yang kita berikan update() sebagai argumen akan menimpa nilai kunci umum. Oleh karena itu 'Sam' memiliki nilai 20 sekarang
Hal penting lainnya yang perlu diperhatikan adalah, kami tidak mendapatkan kamus baru. Isi dict1 berubah dan sekarang selain isinya yang sudah ada, ia juga memiliki isi dict2. Bagaimana jika kita ingin menggabungkan isi 2 atau kamus ke kamus baru?
Menggabungkan dua Kamus atau lebih menggunakan **kwargs
**kwargs
Menggunakan **kwargs kita dapat mengirim pasangan kunci-nilai panjang variabel ke suatu fungsi. Saat kita menerapkan ** ke kamus, maka isi kamus akan diperluas sebagai kumpulan pasangan nilai kunci
Misalnya, jika kita memiliki kamus i. e
Saat kami menerapkan ** ke kamus ini, kamus ini membatalkan serial konten kamus ke kumpulan pasangan kunci/nilai i. e
**dict1setara dengan,
Jadi, mari gunakan **kwargs untuk menggabungkan dua kamus atau lebih
Misalkan kita memiliki dua kamus i. e
Sekarang gabungkan isi dict1 dan dict2 ke kamus baru dict3 i. e
# Merge contents of dict2 and dict1 to dict3 dict3 = {**dict1 , **dict2} print('Dictionary 3 :') print(dict3) _Isi kamus baru adalah,
Dictionary 3 : {'Ritika': 5, 'Sam': 20, 'John': 10, 'Aadi': 8, 'Mark': 11}_Bagaimana cara kerjanya?
**dict1 & **dict2 memperluas konten kedua kamus ke kumpulan pasangan nilai kunci i. e
# Create first dictionary dict1 = { 'Ritika': 5, 'Sam': 7, 'John' : 10 } # Create second dictionary dict2 = {'Aadi': 8,'Sam': 20,'Mark' : 11 } _0Oleh karena itu dibuat kamus baru yang berisi data dari kedua kamus tersebut
Baik dict1 & dict2 memiliki satu kunci umum 'Sam'. Dalam nilai dict3 untuk kunci umum ini 'Sam' adalah seperti dict2 karena kami meneruskan **dict2 sebagai argumen kedua
Menggabungkan tiga kamus
Demikian pula kita dapat menggabungkan 3 kamus i. e
# Create first dictionary dict1 = { 'Ritika': 5, 'Sam': 7, 'John' : 10 } # Create second dictionary dict2 = {'Aadi': 8,'Sam': 20,'Mark' : 11 } _1Keluaran
# Create first dictionary dict1 = { 'Ritika': 5, 'Sam': 7, 'John' : 10 } # Create second dictionary dict2 = {'Aadi': 8,'Sam': 20,'Mark' : 11 } _2Sampai sekarang kita telah melihat bahwa saat menggabungkan kamus, nilai kunci umum ditimpa. Bagaimana jika kita ingin menyimpan semua nilai?
Gabungkan dua kamus dan tambahkan nilai kunci umum
Misalkan kita memiliki dua kamus dengan kunci umum i. e
# Create first dictionary dict1 = { 'Ritika': 5, 'Sam': 7, 'John' : 10 } # Create second dictionary dict2 = {'Aadi': 8,'Sam': 20,'Mark' : 11 } _Sekarang kami ingin menggabungkan kamus ini sedemikian rupa sehingga harus menyimpan semua nilai untuk kunci umum dalam daftar i. e
# Create first dictionary dict1 = { 'Ritika': 5, 'Sam': 7, 'John' : 10 } # Create second dictionary dict2 = {'Aadi': 8,'Sam': 20,'Mark' : 11 } _4Keluaran
# Create first dictionary dict1 = { 'Ritika': 5, 'Sam': 7, 'John' : 10 } # Create second dictionary dict2 = {'Aadi': 8,'Sam': 20,'Mark' : 11 } _5Kedua kamus memiliki kunci umum 'Sam'. Dalam kamus gabungan dict3, nilai 'Sam' dari dict1 & dict2 digabungkan ke dalam daftar
Di Python, kamus adalah kumpulan yang Anda gunakan untuk menyimpan data dalam pasangan {key:value}. Ini dipesan dan dapat diubah, dan tidak dapat menyimpan data duplikat
Kami menulis kamus menggunakan kurung kurawal seperti ini
my_dict = { "id": 1, "name": "Ashutosh", "books": ["Python", "DSA"] }Terkadang, kita perlu menggabungkan dua kamus atau lebih untuk membuat kamus yang lebih besar. Sebagai contoh
dict_one = { "id": 1, "name": "Ashutosh", "books": ["Python", "DSA"] } dict_two = { "college": "NSEC", "city": "Kolkata", "country": "India" } merged_dict = { "id": 1, "name": "Ashutosh", "books": ["Python", "DSA"], "college": "NSEC", "city": "Kolkata", "country": "India" }Di merged_dict kami memiliki pasangan nilai kunci dari dict_one dan dict_one = { "id": 1, "name": "Ashutosh", "books": ["Python", "DSA"] } dict_two = { "college": "NSEC", "city": "Kolkata", "country": "India" } merged_dict = { "id": 1, "name": "Ashutosh", "books": ["Python", "DSA"], "college": "NSEC", "city": "Kolkata", "country": "India" } 0. Inilah yang ingin kami capai secara terprogram
Ada berbagai cara yang bisa kita lakukan dengan Python
- Menggunakan for loop
- Menggunakan metode dict_one = { "id": 1, "name": "Ashutosh", "books": ["Python", "DSA"] } dict_two = { "college": "NSEC", "city": "Kolkata", "country": "India" } merged_dict = { "id": 1, "name": "Ashutosh", "books": ["Python", "DSA"], "college": "NSEC", "city": "Kolkata", "country": "India" } _1
- Menggunakan operator dict_one = { "id": 1, "name": "Ashutosh", "books": ["Python", "DSA"] } dict_two = { "college": "NSEC", "city": "Kolkata", "country": "India" } merged_dict = { "id": 1, "name": "Ashutosh", "books": ["Python", "DSA"], "college": "NSEC", "city": "Kolkata", "country": "India" } _2
- Menggunakan operator dict_one = { "id": 1, "name": "Ashutosh", "books": ["Python", "DSA"] } dict_two = { "college": "NSEC", "city": "Kolkata", "country": "India" } merged_dict = { "id": 1, "name": "Ashutosh", "books": ["Python", "DSA"], "college": "NSEC", "city": "Kolkata", "country": "India" } 3 (Union) (untuk Python 3. 9 ke atas)
Mari jelajahi setiap jalan satu per satu
Cara Menggabungkan Kamus dengan Python Menggunakan For Loop
Kita dapat menggabungkan dua kamus atau lebih menggunakan for loop seperti ini
>>> dict_one = { .. "id": 1, .. "name": "Ashutosh", .. } >>> dict_two = { .. "books": ["Python", "DSA"], .. "college": "NSEC", .. } >>> dict_three = { .. "city": "Kolkata", .. "country": "India" .. } >>> for key,value in dict_two.items(): .. merged_dict[key] = value .. >>> merged_dict {'id': 1, 'name': 'Ashutosh', 'books': ['Python', 'DSA'], 'college': 'NSEC'} >>> for key,value in dict_three.items(): .. merged_dict[key] = value .. >>> merged_dict {'id': 1, 'name': 'Ashutosh', 'books': ['Python', 'DSA'], 'college': 'NSEC', 'city': 'Kolkata', 'country': 'India'}Tetapi masalah dengan metode ini adalah kita perlu menjalankan begitu banyak putaran untuk menggabungkan kamus
Jadi apa pilihan lain?
Cara Menggabungkan Kamus dengan Python Menggunakan Metode dict_one = { "id": 1, "name": "Ashutosh", "books": ["Python", "DSA"] } dict_two = { "college": "NSEC", "city": "Kolkata", "country": "India" } merged_dict = { "id": 1, "name": "Ashutosh", "books": ["Python", "DSA"], "college": "NSEC", "city": "Kolkata", "country": "India" } 1
Jika Anda menjelajahi kelas dict_one = { "id": 1, "name": "Ashutosh", "books": ["Python", "DSA"] } dict_two = { "college": "NSEC", "city": "Kolkata", "country": "India" } merged_dict = { "id": 1, "name": "Ashutosh", "books": ["Python", "DSA"], "college": "NSEC", "city": "Kolkata", "country": "India" } _5, ada berbagai metode di dalamnya. Salah satu metode tersebut adalah metode dict_one = { "id": 1, "name": "Ashutosh", "books": ["Python", "DSA"] } dict_two = { "college": "NSEC", "city": "Kolkata", "country": "India" } merged_dict = { "id": 1, "name": "Ashutosh", "books": ["Python", "DSA"], "college": "NSEC", "city": "Kolkata", "country": "India" } _6 yang dapat Anda gunakan untuk menggabungkan satu kamus ke kamus lainnya
>>> dict_one = { .. "id": 1, .. "name": "Ashutosh", .. "books": ["Python", "DSA"] .. } >>> dict_two = { .. "college": "NSEC", .. "city": "Kolkata", .. "country": "India" .. } >>> dict_one.update(dict_two) >>> dict_one {'id': 1, 'name': 'Ashutosh', 'books': ['Python', 'DSA'], 'college': 'NSEC', 'city': 'Kolkata', 'country': 'India'}Tapi masalah saat kita menggunakan metode dict_one = { "id": 1, "name": "Ashutosh", "books": ["Python", "DSA"] } dict_two = { "college": "NSEC", "city": "Kolkata", "country": "India" } merged_dict = { "id": 1, "name": "Ashutosh", "books": ["Python", "DSA"], "college": "NSEC", "city": "Kolkata", "country": "India" } _6 adalah metode ini memodifikasi salah satu kamus. Jika kami ingin membuat kamus ketiga tanpa mengubah kamus lainnya, kami tidak dapat menggunakan metode ini
Selain itu, Anda hanya dapat menggunakan metode ini untuk menggabungkan dua kamus sekaligus. Jika Anda ingin menggabungkan tiga kamus, pertama-tama Anda harus menggabungkan dua yang pertama, lalu menggabungkan yang ketiga dengan kamus yang dimodifikasi
>>> dict_one = { .. "id": 1, .. "name": "Ashutosh", .. } >>> dict_two = { .. "books": ["Python", "DSA"], .. "college": "NSEC", .. } >>> dict_three = { .. "city": "Kolkata", .. "country": "India" .. } >>> dict_one.update(dict_two) >>> dict_one {'id': 1, 'name': 'Ashutosh', 'books': ['Python', 'DSA'], 'college': 'NSEC'} >>> dict_one.update(dict_three) >>> dict_one {'id': 1, 'name': 'Ashutosh', 'books': ['Python', 'DSA'], 'college': 'NSEC', 'city': 'Kolkata', 'country': 'India'}Mari jelajahi beberapa opsi lain
Cara Menggabungkan Kamus dengan Python Menggunakan operator dict_one = { "id": 1, "name": "Ashutosh", "books": ["Python", "DSA"] } dict_two = { "college": "NSEC", "city": "Kolkata", "country": "India" } merged_dict = { "id": 1, "name": "Ashutosh", "books": ["Python", "DSA"], "college": "NSEC", "city": "Kolkata", "country": "India" } 2
Anda dapat menggunakan metode tanda bintang ganda (**) untuk membongkar atau memperluas kamus seperti ini
Menggunakan operator dict_one = { "id": 1, "name": "Ashutosh", "books": ["Python", "DSA"] } dict_two = { "college": "NSEC", "city": "Kolkata", "country": "India" } merged_dict = { "id": 1, "name": "Ashutosh", "books": ["Python", "DSA"], "college": "NSEC", "city": "Kolkata", "country": "India" } _2 untuk menggabungkan kamus tidak memengaruhi kamus mana pun
Cara Menggabungkan Kamus dengan Python Menggunakan dict_one = { "id": 1, "name": "Ashutosh", "books": ["Python", "DSA"] } dict_two = { "college": "NSEC", "city": "Kolkata", "country": "India" } merged_dict = { "id": 1, "name": "Ashutosh", "books": ["Python", "DSA"], "college": "NSEC", "city": "Kolkata", "country": "India" } 3 Operator
Dimulai dengan Python 3. 9, kita dapat menggunakan operator Union ( dict_one = { "id": 1, "name": "Ashutosh", "books": ["Python", "DSA"] } dict_two = { "college": "NSEC", "city": "Kolkata", "country": "India" } merged_dict = { "id": 1, "name": "Ashutosh", "books": ["Python", "DSA"], "college": "NSEC", "city": "Kolkata", "country": "India" } _3 ) untuk menggabungkan dua kamus atau lebih
>>> dict_one = { .. "id": 1, .. "name": "Ashutosh", .. } >>> dict_two = { .. "books": ["Python", "DSA"], .. "college": "NSEC", .. } >>> dict_three = { .. "city": "Kolkata", .. "country": "India" .. } >>> merged_dict = dict_one | dict_two | dict_three >>> merged_dict {'id': 1, 'name': 'Ashutosh', 'books': ['Python', 'DSA'], 'college': 'NSEC', 'city': 'Kolkata', 'country': 'India'}Ini adalah metode paling nyaman yang tersedia untuk menggabungkan kamus dengan Python
Kesimpulan
Kami telah menjelajahi beberapa metode berbeda untuk menggabungkan kamus. Jika Anda memiliki Python 3. 9 atau lebih, Anda harus menggunakan operator dict_one = { "id": 1, "name": "Ashutosh", "books": ["Python", "DSA"] } dict_two = { "college": "NSEC", "city": "Kolkata", "country": "India" } merged_dict = { "id": 1, "name": "Ashutosh", "books": ["Python", "DSA"], "college": "NSEC", "city": "Kolkata", "country": "India" } 3. Tetapi jika Anda menggunakan Python versi lama, Anda masih dapat menggunakan metode lain yang dibahas di atas
IKLAN
IKLAN
IKLAN
Pengembang Aplikasi di Thoughtworks India
Jika Anda membaca sejauh ini, tweet ke penulis untuk menunjukkan bahwa Anda peduli. Tweet terima kasih
Belajar kode secara gratis. Kurikulum open source freeCodeCamp telah membantu lebih dari 40.000 orang mendapatkan pekerjaan sebagai pengembang. Memulai