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