Bagaimana cara menggabungkan beberapa kamus menjadi satu dengan python?

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

Show

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()

Artikel ini menjelaskan cara menambahkan item baru ke kamus

d = {'k1': 1, 'k2': 2}

d['k3'] = 3
print(d)
# {'k1': 1, 'k2': 2, 'k3': 3}

d['k1'] = 100
print(d)
# {'k1': 100, 'k2': 2, 'k3': 3}
7 atau memperbarui nilai item yang ada dengan Python. Dimungkinkan juga untuk menggabungkan beberapa kamus

  • Tambahkan/perbarui item ke/dalam kamus dengan menentukan kunci
  • Menggabungkan beberapa kamus.
    d = {'k1': 1, 'k2': 2}
    
    d['k3'] = 3
    print(d)
    # {'k1': 1, 'k2': 2, 'k3': 3}
    
    d['k1'] = 100
    print(d)
    # {'k1': 100, 'k2': 2, 'k3': 3}
    
    8,
    d = {'k1': 1, 'k2': 2}
    
    d['k3'] = 3
    print(d)
    # {'k1': 1, 'k2': 2, 'k3': 3}
    
    d['k1'] = 100
    print(d)
    # {'k1': 100, 'k2': 2, 'k3': 3}
    
    9,
    d1 = {'k1': 1, 'k2': 2}
    d2 = {'k1': 100, 'k3': 3, 'k4': 4}
    
    d1.update(d2)
    print(d1)
    # {'k1': 100, 'k2': 2, 'k3': 3, 'k4': 4}
    
    0,
    d1 = {'k1': 1, 'k2': 2}
    d2 = {'k1': 100, 'k3': 3, 'k4': 4}
    
    d1.update(d2)
    print(d1)
    # {'k1': 100, 'k2': 2, 'k3': 3, 'k4': 4}
    
    1,
    d1 = {'k1': 1, 'k2': 2}
    d2 = {'k1': 100, 'k3': 3, 'k4': 4}
    
    d1.update(d2)
    print(d1)
    # {'k1': 100, 'k2': 2, 'k3': 3, 'k4': 4}
    
    2
  • Tambahkan/perbarui banyak item ke/dalam kamus.
    d = {'k1': 1, 'k2': 2}
    
    d['k3'] = 3
    print(d)
    # {'k1': 1, 'k2': 2, 'k3': 3}
    
    d['k1'] = 100
    print(d)
    # {'k1': 100, 'k2': 2, 'k3': 3}
    
    8,
    d1 = {'k1': 1, 'k2': 2}
    d2 = {'k1': 100, 'k3': 3, 'k4': 4}
    
    d1.update(d2)
    print(d1)
    # {'k1': 100, 'k2': 2, 'k3': 3, 'k4': 4}
    
    2

Lihat artikel berikut tentang cara menghapus item dari kamus, memeriksa keberadaan kunci, dan mengubah kunci

  • Hapus item dari kamus dengan Python (clear, pop, popitem, del)
  • Periksa apakah kunci/nilai ada di kamus dengan Python
  • Ubah kunci kamus dengan Python

Tautan Bersponsor

Tambahkan/perbarui item ke/dalam kamus dengan menentukan kunci

Anda dapat menambahkan item ke kamus atau memperbarui nilai item yang sudah ada sebagai berikut

dict_object[key] = value

Jika kunci yang tidak ada ditentukan, item baru ditambahkan, dan jika kunci yang ada ditentukan, nilai item yang ada diperbarui (ditimpa)

d = {'k1': 1, 'k2': 2}

d['k3'] = 3
print(d)
# {'k1': 1, 'k2': 2, 'k3': 3}

d['k1'] = 100
print(d)
# {'k1': 100, 'k2': 2, 'k3': 3}

sumber.

Jika Anda tidak ingin memperbarui nilai kunci yang ada, gunakan metode

d1 = {'k1': 1, 'k2': 2}
d2 = {'k1': 100, 'k3': 3, 'k4': 4}

d1.update(d2)
print(d1)
# {'k1': 100, 'k2': 2, 'k3': 3, 'k4': 4}
5. Lihat artikel berikut

  • Tambahkan item hanya jika kuncinya tidak ada di dict di Python (setdefault())

Menggabungkan beberapa kamus. d = {'k1': 1, 'k2': 2} d['k3'] = 3 print(d) # {'k1': 1, 'k2': 2, 'k3': 3} d['k1'] = 100 print(d) # {'k1': 100, 'k2': 2, 'k3': 3} 8, d1 = {'k1': 1, 'k2': 2} d2 = {'k1': 100, 'k3': 3, 'k4': 4} d1.update(d2) print(d1) # {'k1': 100, 'k2': 2, 'k3': 3, 'k4': 4} 1, d1 = {'k1': 1, 'k2': 2} d2 = {'k1': 100, 'k3': 3, 'k4': 4} d1.update(d2) print(d1) # {'k1': 100, 'k2': 2, 'k3': 3, 'k4': 4} 2

d = {'k1': 1, 'k2': 2} d['k3'] = 3 print(d) # {'k1': 1, 'k2': 2, 'k3': 3} d['k1'] = 100 print(d) # {'k1': 100, 'k2': 2, 'k3': 3} _8

Dengan menentukan

d = {'k1': 1, 'k2': 2}

d['k3'] = 3
print(d)
# {'k1': 1, 'k2': 2, 'k3': 3}

d['k1'] = 100
print(d)
# {'k1': 100, 'k2': 2, 'k3': 3}
_7 lain sebagai argumen dari metode
d = {'k1': 1, 'k2': 2}

d['k3'] = 3
print(d)
# {'k1': 1, 'k2': 2, 'k3': 3}

d['k1'] = 100
print(d)
# {'k1': 100, 'k2': 2, 'k3': 3}
8, semua itemnya ditambahkan

Jika kunci tumpang tindih dengan kunci yang sudah ada, kunci tersebut akan ditimpa dengan nilai

d = {'k1': 1, 'k2': 2}

d['k3'] = 3
print(d)
# {'k1': 1, 'k2': 2, 'k3': 3}

d['k1'] = 100
print(d)
# {'k1': 100, 'k2': 2, 'k3': 3}
7 yang ditentukan dalam argumen

d1 = {'k1': 1, 'k2': 2}
d2 = {'k1': 100, 'k3': 3, 'k4': 4}

d1.update(d2)
print(d1)
# {'k1': 100, 'k2': 2, 'k3': 3, 'k4': 4}

sumber.

Kesalahan dimunculkan jika lebih dari satu kamus ditentukan sebagai argumen

d = {'k1': 1, 'k2': 2}

d['k3'] = 3
print(d)
# {'k1': 1, 'k2': 2, 'k3': 3}

d['k1'] = 100
print(d)
# {'k1': 100, 'k2': 2, 'k3': 3}
8

d1 = {'k1': 1, 'k2': 2}
d2 = {'k1': 100, 'k3': 3, 'k4': 4}
d3 = {'k5': 5, 'k6': 6}

# d1.update(d2, d3)
# TypeError: update expected at most 1 arguments, got 2

sumber.

Seperti yang dijelaskan nanti,

d = {'k1': 1, 'k2': 2}

d['k3'] = 3
print(d)
# {'k1': 1, 'k2': 2, 'k3': 3}

d['k1'] = 100
print(d)
# {'k1': 100, 'k2': 2, 'k3': 3}
_8 dapat menambahkan item baru dengan argumen kata kunci (
d1 = {'k1': 1, 'k2': 2}
d2 = {'k1': 100, 'k3': 3, 'k4': 4}
d3 = {'k5': 5, 'k6': 6}

# d1.update(d2, d3)
# TypeError: update expected at most 1 arguments, got 2
5), sehingga Anda dapat membongkar dan meneruskan setiap item dengan
d1 = {'k1': 1, 'k2': 2}
d2 = {'k1': 100, 'k3': 3, 'k4': 4}
d3 = {'k5': 5, 'k6': 6}

# d1.update(d2, d3)
# TypeError: update expected at most 1 arguments, got 2
6

  • Buka paket dan berikan daftar, tuple, dict ke argumen fungsi dengan Python

d1.update(**d2, **d3)
print(d1)
# {'k1': 100, 'k2': 2, 'k3': 3, 'k4': 4, 'k5': 5, 'k6': 6}

sumber.

Dalam hal ini, boleh saja kunci kamus yang memanggil metode dan kunci kamus yang ditentukan dalam argumen digandakan seperti pada contoh di atas, tetapi kesalahan muncul jika kunci dari beberapa kamus yang ditentukan dalam argumen

d1 = {'k1': 1, 'k2': 2}
d2 = {'k1': 100, 'k3': 3, 'k4': 4}
d3 = {'k5': 5, 'k6': 6}

# d3.update(**d1, **d2)
# TypeError: dict.update() got multiple values for keyword argument 'k1'

sumber.

d = {'k1': 1, 'k2': 2} d['k3'] = 3 print(d) # {'k1': 1, 'k2': 2, 'k3': 3} d['k1'] = 100 print(d) # {'k1': 100, 'k2': 2, 'k3': 3} 9 (Python 3. 5 atau lebih baru), d1 = {'k1': 1, 'k2': 2} d2 = {'k1': 100, 'k3': 3, 'k4': 4} d1.update(d2) print(d1) # {'k1': 100, 'k2': 2, 'k3': 3, 'k4': 4} 0

Dengan

d = {'k1': 1, 'k2': 2}

d['k3'] = 3
print(d)
# {'k1': 1, 'k2': 2, 'k3': 3}

d['k1'] = 100
print(d)
# {'k1': 100, 'k2': 2, 'k3': 3}
_8, kamus asli diperbarui

Jika Anda ingin membuat kamus baru dengan menggabungkan beberapa kamus, gunakan

d1.update(**d2, **d3)
print(d1)
# {'k1': 100, 'k2': 2, 'k3': 3, 'k4': 4, 'k5': 5, 'k6': 6}
0 (dari Python 3. 5) atau
d1.update(**d2, **d3)
print(d1)
# {'k1': 100, 'k2': 2, 'k3': 3, 'k4': 4, 'k5': 5, 'k6': 6}
_1

d1 = {'k1': 1, 'k2': 2}
d2 = {'k3': 3, 'k4': 4}

print({**d1, **d2})
# {'k1': 1, 'k2': 2, 'k3': 3, 'k4': 4}

print(dict(**d1, **d2))
# {'k1': 1, 'k2': 2, 'k3': 3, 'k4': 4}

sumber.

Dalam kasus

d1.update(**d2, **d3)
print(d1)
# {'k1': 100, 'k2': 2, 'k3': 3, 'k4': 4, 'k5': 5, 'k6': 6}
_1, kesalahan muncul jika kunci dari beberapa kamus yang ditentukan sebagai argumen digandakan

d1 = {'k1': 1, 'k2': 2}
d2 = {'k1': 100, 'k3': 3, 'k4': 4}

print({**d1, **d2})
# {'k1': 100, 'k2': 2, 'k3': 3, 'k4': 4}

# print(dict(**d1, **d2))
# TypeError: dict() got multiple values for keyword argument 'k1'

sumber.

Lihat artikel berikut untuk detail tentang cara membuat kamus

  • Membuat kamus dengan Python ({}, dict(), pemahaman dict)

Dalam Python 3. 9 atau lebih baru, dimungkinkan juga untuk membuat kamus baru menggunakan operator

d1 = {'k1': 1, 'k2': 2}
d2 = {'k1': 100, 'k3': 3, 'k4': 4}

d1.update(d2)
print(d1)
# {'k1': 100, 'k2': 2, 'k3': 3, 'k4': 4}
1 yang dijelaskan selanjutnya

d1 = {'k1': 1, 'k2': 2} d2 = {'k1': 100, 'k3': 3, 'k4': 4} d1.update(d2) print(d1) # {'k1': 100, 'k2': 2, 'k3': 3, 'k4': 4} _1 operator, d1 = {'k1': 1, 'k2': 2} d2 = {'k1': 100, 'k3': 3, 'k4': 4} d1.update(d2) print(d1) # {'k1': 100, 'k2': 2, 'k3': 3, 'k4': 4} 2 operator (Python 3. 9 atau lebih baru)

Sejak Python 3. 9, dimungkinkan untuk menggabungkan dua kamus dengan operator

d1 = {'k1': 1, 'k2': 2}
d2 = {'k1': 100, 'k3': 3, 'k4': 4}

d1.update(d2)
print(d1)
# {'k1': 100, 'k2': 2, 'k3': 3, 'k4': 4}
1. Jika mereka memiliki kunci yang sama, itu ditimpa dengan nilai di sebelah kanan

d1 = {'k1': 1, 'k2': 2}
d2 = {'k1': 100, 'k3': 3, 'k4': 4}

d = d1 | d2
print(d)
# {'k1': 100, 'k2': 2, 'k3': 3, 'k4': 4}

d = d2 | d1
print(d)
# {'k1': 1, 'k3': 3, 'k4': 4, 'k2': 2}

sumber.

Anda dapat menggabungkan beberapa kamus

d1 = {'k1': 1, 'k2': 2}
d2 = {'k1': 100, 'k3': 3, 'k4': 4}
d3 = {'k5': 5, 'k6': 6}

d = d1 | d2 | d3
print(d)
# {'k1': 100, 'k2': 2, 'k3': 3, 'k4': 4, 'k5': 5, 'k6': 6}

sumber.

Seperti

d1.update(**d2, **d3)
print(d1)
# {'k1': 100, 'k2': 2, 'k3': 3, 'k4': 4, 'k5': 5, 'k6': 6}
7 untuk
d1.update(**d2, **d3)
print(d1)
# {'k1': 100, 'k2': 2, 'k3': 3, 'k4': 4, 'k5': 5, 'k6': 6}
8,
d1 = {'k1': 1, 'k2': 2}
d2 = {'k1': 100, 'k3': 3, 'k4': 4}

d1.update(d2)
print(d1)
# {'k1': 100, 'k2': 2, 'k3': 3, 'k4': 4}
2 untuk
d1 = {'k1': 1, 'k2': 2}
d2 = {'k1': 100, 'k3': 3, 'k4': 4}

d1.update(d2)
print(d1)
# {'k1': 100, 'k2': 2, 'k3': 3, 'k4': 4}
1 juga disediakan. Seperti
d = {'k1': 1, 'k2': 2}

d['k3'] = 3
print(d)
# {'k1': 1, 'k2': 2, 'k3': 3}

d['k1'] = 100
print(d)
# {'k1': 100, 'k2': 2, 'k3': 3}
_8, objek di sebelah kiri diperbarui

d = {'k1': 1, 'k2': 2}

d['k3'] = 3
print(d)
# {'k1': 1, 'k2': 2, 'k3': 3}

d['k1'] = 100
print(d)
# {'k1': 100, 'k2': 2, 'k3': 3}
0

sumber.

Tautan Bersponsor

Tambahkan/perbarui banyak item ke/dalam kamus. d = {'k1': 1, 'k2': 2} d['k3'] = 3 print(d) # {'k1': 1, 'k2': 2, 'k3': 3} d['k1'] = 100 print(d) # {'k1': 100, 'k2': 2, 'k3': 3} 8, d1 = {'k1': 1, 'k2': 2} d2 = {'k1': 100, 'k3': 3, 'k4': 4} d1.update(d2) print(d1) # {'k1': 100, 'k2': 2, 'k3': 3, 'k4': 4} 2

d = {'k1': 1, 'k2': 2} d['k3'] = 3 print(d) # {'k1': 1, 'k2': 2, 'k3': 3} d['k1'] = 100 print(d) # {'k1': 100, 'k2': 2, 'k3': 3} _8

Jika argumen kata kunci

d1 = {'k1': 1, 'k2': 2}
d2 = {'k1': 100, 'k3': 3, 'k4': 4}
d3 = {'k5': 5, 'k6': 6}

# d1.update(d2, d3)
# TypeError: update expected at most 1 arguments, got 2
_5 ditentukan ke metode
d = {'k1': 1, 'k2': 2}

d['k3'] = 3
print(d)
# {'k1': 1, 'k2': 2, 'k3': 3}

d['k1'] = 100
print(d)
# {'k1': 100, 'k2': 2, 'k3': 3}
8, item dengan kunci dan nilainya ditambahkan. Jika kunci tumpang tindih dengan yang sudah ada, kunci tersebut akan ditimpa dengan nilai yang ditentukan sebagai argumen

d = {'k1': 1, 'k2': 2}

d['k3'] = 3
print(d)
# {'k1': 1, 'k2': 2, 'k3': 3}

d['k1'] = 100
print(d)
# {'k1': 100, 'k2': 2, 'k3': 3}
1

sumber.

Dimungkinkan juga untuk menentukan daftar

d1 = {'k1': 1, 'k2': 2}
d2 = {'k1': 100, 'k3': 3, 'k4': 4}
d3 = {'k5': 5, 'k6': 6}

# d3.update(**d1, **d2)
# TypeError: dict.update() got multiple values for keyword argument 'k1'
7 sebagai argumen untuk metode
d = {'k1': 1, 'k2': 2}

d['k3'] = 3
print(d)
# {'k1': 1, 'k2': 2, 'k3': 3}

d['k1'] = 100
print(d)
# {'k1': 100, 'k2': 2, 'k3': 3}
8. Jika kunci tumpang tindih dengan yang sudah ada, kunci tersebut akan ditimpa dengan nilai yang ditentukan sebagai argumen

d = {'k1': 1, 'k2': 2}

d['k3'] = 3
print(d)
# {'k1': 1, 'k2': 2, 'k3': 3}

d['k1'] = 100
print(d)
# {'k1': 100, 'k2': 2, 'k3': 3}
2

sumber.

Anda dapat menggunakan

d1 = {'k1': 1, 'k2': 2}
d2 = {'k1': 100, 'k3': 3, 'k4': 4}
d3 = {'k5': 5, 'k6': 6}

# d3.update(**d1, **d2)
# TypeError: dict.update() got multiple values for keyword argument 'k1'
_9 untuk menambahkan item dari daftar kunci dan daftar nilai

d = {'k1': 1, 'k2': 2}

d['k3'] = 3
print(d)
# {'k1': 1, 'k2': 2, 'k3': 3}

d['k1'] = 100
print(d)
# {'k1': 100, 'k2': 2, 'k3': 3}
3

sumber.

Lihat artikel berikut tentang

d1 = {'k1': 1, 'k2': 2}
d2 = {'k1': 100, 'k3': 3, 'k4': 4}
d3 = {'k5': 5, 'k6': 6}

# d3.update(**d1, **d2)
# TypeError: dict.update() got multiple values for keyword argument 'k1'
_9

  • zip() dengan Python. Dapatkan elemen dari beberapa daftar

Untuk argumen kata kunci, kesalahan dimunculkan jika kunci yang sama ditentukan. Dalam kasus daftar

d1 = {'k1': 1, 'k2': 2}
d2 = {'k1': 100, 'k3': 3, 'k4': 4}
d3 = {'k5': 5, 'k6': 6}

# d3.update(**d1, **d2)
# TypeError: dict.update() got multiple values for keyword argument 'k1'
_7 dan
d1 = {'k1': 1, 'k2': 2}
d2 = {'k1': 100, 'k3': 3, 'k4': 4}
d3 = {'k5': 5, 'k6': 6}

# d3.update(**d1, **d2)
# TypeError: dict.update() got multiple values for keyword argument 'k1'
9, kunci duplikat dapat diterima. Itu ditimpa oleh nilai nanti

Bagaimana cara menggabungkan beberapa kamus menjadi satu kamus Python?

Python 3. 9 telah memperkenalkan operator penggabungan (. ) 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 menggabungkan 3 kamus dengan Python?

Bagaimana Menggabungkan Kamus dengan Python? .
1) Menggunakan metode update()
2) Menggunakan gabungan(. ) operator
3) Menggunakan operator **
4) Membuka kamus kedua
5) Menggunakan koleksi. ChainMap() metode
6) Menggunakan itertools. rantai()
7) Menggunakan pemahaman kamus
8) Tambahkan nilai kunci umum

Bisakah kita menggabungkan dua kamus dengan Python?

Dalam Python 3. 9 dan versi yang lebih baru, yaitu. operator dapat digunakan untuk menggabungkan kamus. Catatan. Jika ada dua kunci dengan nama yang sama, kamus gabungan berisi nilai kunci terakhir

Bagaimana cara menggabungkan dua daftar kamus dengan Python?

Diberikan dua daftar kamus, tugasnya adalah menggabungkan kedua daftar kamus ini berdasarkan beberapa nilai. Metode #1. Menggunakan defaultdict dan extend untuk menggabungkan dua daftar kamus berdasarkan school_id . # berdasarkan beberapa nilai. Metode #2. Hanya menggunakan extend().