Anda ingin menggabungkan dua atau lebih kamus Python dalam satu ekspresi. Misalnya, Anda memiliki kamus berikut yang menyimpan beberapa data tentang karakter fiksi
c1 = { 'The Hound of the Baskervilles': 'Sherlock Holmes', 'To Kill A Mockingbird': 'Scout Finch', 'Heart of Darkness': 'Kurtz' } c2 = { 'Lord of the Rings': 'Frodo Baggins', 'The Count of Monte Cristo': 'Edmond Dantès' }Bagaimana Anda bisa menggabungkannya menjadi satu kamus dalam satu baris kode?
Solusinya
Bergantung pada versi Python mana yang Anda gunakan, Anda dapat memilih salah satu metode berikut untuk menggabungkan kamus Python
Menggabungkan Kamus Menggunakan | Operator
Piton 3. 9 memperkenalkan di kelas dict. Menggunakan operator gabungan adalah cara termudah untuk menggabungkan kamus. Operator gabungan mengembalikan kamus baru, membiarkan kamus asli tidak berubah
>>> c = c1 | c2 >>> c {'The Hound of the Baskervilles': 'Sherlock Holmes', 'To Kill A Mockingbird': 'Scout Finch', 'Heart of Darkness': 'Kurtz', 'Lord of the Rings': 'Frodo Baggins', 'The Count of Monte Cristo': 'Edmond Dantès'} _Kita bisa mengubah urutan kamus, seperti itu
>>> c = c2 | c1 >>> c {'Lord of the Rings': 'Frodo Baggins', 'The Count of Monte Cristo': 'Edmond Dantès', 'The Hound of the Baskervilles': 'Sherlock Holmes', 'To Kill A Mockingbird': 'Scout Finch', 'Heart of Darkness': 'Kurtz'}Kami dapat menggabungkan beberapa kamus sekaligus menggunakan metode ini
Menggabungkan Kamus Menggunakan |= Operator
Jika kita ingin menggabungkan kamus di tempat, kita dapat menggunakan (|=)
>>> c1 |= c2 >>> c1 {'The Hound of the Baskervilles': 'Sherlock Holmes', 'To Kill A Mockingbird': 'Scout Finch', 'Heart of Darkness': 'Kurtz', 'Lord of the Rings': 'Frodo Baggins', 'The Count of Monte Cristo': 'Edmond Dantès'} >>> c2 {'Lord of the Rings': 'Frodo Baggins', 'The Count of Monte Cristo': 'Edmond Dantès'}Kami dapat menggabungkan beberapa kamus sekaligus menggunakan metode ini
Seperti operator gabungan, operator pembaruan akan bekerja dengan Python 3. 9 ke atas saja
Menggabungkan Kamus Menggunakan >>> c = c1 | c2 >>> c {'The Hound of the Baskervilles': 'Sherlock Holmes', 'To Kill A Mockingbird': 'Scout Finch', 'Heart of Darkness': 'Kurtz', 'Lord of the Rings': 'Frodo Baggins', 'The Count of Monte Cristo': 'Edmond Dantès'} 1 Operator
Dalam Python 3. 5 ke atas, kita juga dapat menggunakan untuk menggabungkan kamus
>>> c3 = {**c1, **c2} >>> c3 {'The Hound of the Baskervilles': 'Sherlock Holmes', 'To Kill A Mockingbird': 'Scout Finch', 'Heart of Darkness': 'Kurtz', 'Lord of the Rings': 'Frodo Baggins', 'The Count of Monte Cristo': 'Edmond Dantès'}Menggunakan operator pembongkaran tidak mengubah kamus asli. Jika Anda ingin menggabungkan kamus di tempat, Anda tidak dapat menggunakan operator unpacking. Kita bisa menggabungkan lebih dari dua kamus sekaligus dengan menggunakan metode ini
Untuk versi Python di bawah 3. 5, kita dapat menggunakan metode >>> c = c1 | c2 >>> c {'The Hound of the Baskervilles': 'Sherlock Holmes', 'To Kill A Mockingbird': 'Scout Finch', 'Heart of Darkness': 'Kurtz', 'Lord of the Rings': 'Frodo Baggins', 'The Count of Monte Cristo': 'Edmond Dantès'} 3 dari kelas dict untuk menggabungkan satu kamus ke kamus lainnya
>>> c1.update(c2) >>> c1 {'The Hound of the Baskervilles': 'Sherlock Holmes', 'To Kill A Mockingbird': 'Scout Finch', 'Heart of Darkness': 'Kurtz', 'Lord of the Rings': 'Frodo Baggins', 'The Count of Monte Cristo': 'Edmond Dantès'}Dengan menggunakan metode ini, kami hanya dapat menggabungkan kamus di tempat, mis. e. salah satu kamus akan dimodifikasi. Jadi jika kita perlu mempertahankan kamus asli tidak berubah, kita perlu membuat salinan dari salah satu kamus dan kemudian menggabungkan yang kedua ke dalam salinan ini
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'}Tetapi masalah ketika 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
>>> 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'}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