Python cara tercepat untuk menggabungkan kamus

Anda ingin menggabungkan dua atau lebih kamus Python dalam satu ekspresi. Misalnya, Anda memiliki kamus berikut yang menyimpan beberapa data tentang karakter fiksi

Show
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

  1. Menggunakan for loop
  2. 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
  3. 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
  4. 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


Python cara tercepat untuk menggabungkan kamus
Ashutosh Krishna

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

Apa cara tercepat untuk menggabungkan kamus?

Menggabungkan dua kamus dengan operator gabungan kemungkinan merupakan cara tercepat dan terbersih untuk menggabungkan dua kamus.

Bagaimana cara menggabungkan beberapa kamus menjadi satu?

Metode 2. Menggunakan operator pembongkaran . Kami juga dapat menggabungkan beberapa kamus menggunakan metode ini

Bagaimana saya bisa menggabungkan 4 kamus dengan Python?

Cara Menggabungkan Kamus dengan Python .
Menggunakan for loop
Menggunakan dict. memperbarui() metode
Menggunakan operator **
Menggunakan. (Union) operator (untuk Python 3. 9 ke atas)

Bagaimana cara menggabungkan daftar kamus menjadi satu kamus Python?

Bagaimana cara menggabungkan daftar Dict menjadi satu dict? . v untuk x dalam l untuk k,v dalam x. use dictionary comprehension {k:v for x in l for k,v in x. items()} untuk terlebih dahulu mengulang semua kamus dalam daftar l dan kemudian mengulang semua pasangan (kunci, nilai) di setiap kamus .