Kamus literal dibangun dalam urutan yang diberikan dalam sumber. Ini berarti bahwa jika kunci digandakan, pasangan kunci-nilai kedua akan menimpa yang pertama karena kamus hanya dapat memiliki satu nilai per kunci Show
RekomendasiPeriksa kesalahan ketik untuk memastikan bahwa kunci seharusnya sama. Jika mereka kemudian memutuskan nilai mana yang diinginkan dan menghapus yang lain ContohContoh ini akan menampilkan "c" karena pemetaan antara 2 dan "b" ditimpa oleh pemetaan dari 2 ke "c". Pemrogram mungkin bermaksud memetakan 3 ke "c". Kamus Python tidak mengizinkan kunci diulang. Namun, kami dapat menggunakan defaultdict untuk menemukan solusinya. Kelas ini didefinisikan dalam modul koleksi Gunakan daftar sebagai pabrik default untuk objek defaultdict >>> from collections import defaultdict >>> d=defaultdict(list) Berikut adalah daftar tupel masing-masing dengan dua item. Item pertama ditemukan berulang kali digunakan. Daftar ini dikonversi dalam defaultdict Hampir semua jenis nilai dapat digunakan sebagai kunci kamus di Python. Anda bahkan dapat menggunakan objek bawaan seperti tipe dan fungsi. Namun, ada beberapa batasan yang harus dipatuhi oleh kunci kamus Pertama, kunci yang diberikan hanya dapat muncul sekali dalam kamus. Kunci duplikat tidak diperbolehkan. Kamus memetakan setiap kunci ke nilai yang sesuai, jadi tidak masuk akal untuk memetakan kunci tertentu lebih dari satu kali. Jika Anda menentukan kunci untuk kedua kalinya selama pembuatan kamus awal, kemunculan kedua akan menggantikan yang pertama Kedua, kunci kamus harus dari jenis yang tidak dapat diubah. Misalnya, Anda dapat menggunakan integer, float, string, atau Boolean sebagai kunci kamus. Namun, baik daftar maupun kamus lain tidak dapat berfungsi sebagai kunci kamus, karena daftar dan kamus dapat diubah. Sebaliknya, nilai dapat berupa jenis apa saja dan dapat digunakan lebih dari satu kali
Joshua Dougas di Saya terkejut bahwa pesan kesalahan untuk kunci daftar tidak menyebutkan perubahan sama sekali Saya bermain-main dan menemukan bahwa objek yang dapat berubah benar-benar berfungsi sebagai kunci, selama objek tersebut dapat di-hash. Kita dapat membuat daftar turunan yang hashable dengan mengimplementasikan metode hash() menggunakan beberapa skema arbitrer Saya melakukan ini di bawah dan menemukan bahwa objek yang dapat berubah sebenarnya berfungsi sebagai kunci kamus, hanya saja menggunakan kunci yang dapat berubah dapat menyebabkan hasil yang tidak terduga Misalnya jika Anda menambahkan item menggunakan kunci yang dapat diubah dan kemudian mengubah kunci secara permanen, maka Anda berisiko 'kehilangan' nilai terkait. Saya yakin ada banyak peringatan lain, seperti tabrakan, juga Dalam tutorial sebelumnya, kita belajar tentang Python Dictionaries dan melihat bahwa mereka dianggap sebagai kumpulan yang tidak terurut dengan pasangan books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}28, di mana kunci digunakan untuk mengakses item yang bertentangan dengan posisi, seperti dalam daftar misalnya Dalam tip singkat ini, saya akan menunjukkan cara menggabungkan (menggabungkan) dua kamus menjadi satu. Sebelum kita mulai, saya sarankan Anda membuka IDE Python online ini untuk menjalankan blok kode berikut dan melihat hasilnya Menggunakan Metode books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'} _29Katakanlah kita memiliki dua kamus berikut 1 books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'} 2 books2 = {4: 'JavaScript and jQuery', 5: 'Simplifying JavaScript'} Bagaimana kita bisa menggabungkan kedua kamus itu dalam satu kamus? . Sebagaimana dinyatakan dalam dokumentasi Python Perbarui kamus dengan pasangan kunci/nilai dari yang lain, menimpa kunci yang sudah ada. Kembalikanbooks1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}_31 menerima objek kamus lain atau iterable dari pasangan kunci/nilai (sebagai tupel atau iterable lainnya dengan panjang dua). Jika argumen kata kunci ditentukan, kamus kemudian diperbarui dengan pasangan kunci/nilai tersebut.books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}_33 Jadi, untuk menggabungkan kamus books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}_34 menjadi books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}35, sertakan dan jalankan kode berikut di IDE Python Anda 1 books1.update(books2) 2_________14__15_______ Dalam hal ini, Anda akan mendapatkan output berikut 1 books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}0 2 books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}2 3 Jika Anda menggabungkan books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}_35 menjadi books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}34 seperti pada kode berikut 1 books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'} 2________6__14_______ books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}9 20 21 22 23 Anda akan mendapatkan kamus yang disusun ulang sebagai output 1 25 2 27 3 Namun, ada masalah saat menggunakan ________1______29 untuk menggabungkan dua kamus. Masalahnya terletak pada kenyataan bahwa kamus asli dapat dimodifikasi. Dengan kata lain, dalam kasus pertama misalnya, books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}39 , versi asli dari books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}35 could be modified, and in the latter case, books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}41, the original version of books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}34, could be modified. Misalnya, perhatikan kamus yang disusun ulang berikut ini 1 books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'} 2 books2 = {4: 'JavaScript and jQuery', 5: 'Simplifying JavaScript'}2 3 books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}9 books1.update(books2) 21 22 print(books1) books2 = {4: 'JavaScript and jQuery', 5: 'Simplifying JavaScript'}9 Seperti yang mungkin telah Anda amati, kedua kamus memiliki kunci yang sama, yaitu books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}43 Dalam hal ini, contoh pertama (yaitu, 'Pelajari JavaScript Secara Visual') akan dibuang, sehingga keluaran berikut akan ditampilkan 1 11 2 13 3 Kita akan belajar tentang cara menghindari perilaku ini nanti Melewati Semua Item ke Kamus Baru dalam books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'} 44 LoopAnda juga dapat menggabungkan dua kamus menggunakan loop Python books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}44 Dalam hal ini, kami akan menetapkan kamus kosong ke variabel — yang saya sebut books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}46 — dan kemudian untuk setiap kali kami mengulangi kedua kamus (yaitu, books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}35 dan books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}34), kami ingin menetapkan kunci dan nilai masing-masing . books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}_46 Ini kode untuk itu 1 16 2 18 3 books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}9 books1.update(books2)1 21 2__________________________________________________________________________________________________________________________________________________ Kode ini juga akan memberikan output yang diinginkan 1 books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}0 2 28 3 Menggabungkan Dua Kamus dalam Ekspresi Tunggal Dengan Tanda Bintang GandaMetode lain yang dapat Anda gunakan untuk menggabungkan dua kamus, di mana Anda dapat melakukan tugas seperti itu dalam satu ekspresi, adalah dengan operator tanda bintang ganda ( books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}50) 1 books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'} 2________6__14_______ books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}9 36 21 22 24 books2 = {4: 'JavaScript and jQuery', 5: 'Simplifying JavaScript'}9 Menggunakan tanda bintang ganda menandakan bahwa kita ingin menggabungkan kamus books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}34 menjadi books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}35 Menjalankan kode ini akan memberi Anda books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}53 pesan. Agar kode ini berfungsi, Anda harus mengubah kunci menjadi string ________3__3_______6 2 18 3 books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}9 36 21 22 24 books2 = {4: 'JavaScript and jQuery', 5: 'Simplifying JavaScript'}9 Sekarang, menjalankan kode akan memberi Anda hasil yang diinginkan 1 13 2 15 3 Mempertahankan Nilai KunciKembali ke masalah sebelumnya tentang mempertahankan nilai kunci, bagaimana kita dapat menggabungkan dua kamus sambil mempertahankan aslinya dari setiap kamus? Solusinya adalah sebagai berikut (diambil dari jawaban di ) 1 18 2 books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}00 3 books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}9 books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'} 21 books2 = {4: 'JavaScript and jQuery', 5: 'Simplifying JavaScript'}2 22 books2 = {4: 'JavaScript and jQuery', 5: 'Simplifying JavaScript'}9 books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}08 books1.update(books2)7 books1.update(books2)9 books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}11 21 books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}13 23 books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}15 books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}16 books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}17 books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}18 Output dalam hal ini adalah ________3__1_______20 2 books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}22 3 books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}24 books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}9 books1 = {1: 'You Dont Know JS', 2: 'Eloquent JavaScript', 3: 'Learn JavaScript Visually'}26 21 Jadi, seperti yang bisa Anda lihat dari tip singkat ini, sangat mudah untuk menggabungkan dua kamus menggunakan Python, dan ini menjadi sedikit lebih rumit jika kita ingin mempertahankan nilai dari kunci yang sama di setiap kamus Posting ini telah diperbarui dengan kontribusi dari Kingsley Ubah. Kingsley bersemangat membuat konten yang mengedukasi dan menginspirasi pembaca. Hobinya antara lain membaca, sepak bola, dan bersepeda Apakah kamus Python mendukung kunci duplikat?Kamus dengan Python
. Kunci duplikat tidak diperbolehkan . Kamus memetakan setiap kunci ke nilai yang sesuai, jadi tidak masuk akal untuk memetakan kunci tertentu lebih dari satu kali.
Bagaimana Anda menangani kunci duplikat dengan Python?Kamus Python tidak mengizinkan kunci diulang. Namun, kita dapat menggunakan defaultdict untuk mencari solusi . Kelas ini didefinisikan dalam modul koleksi.
Bagaimana cara menggabungkan kunci duplikat dalam kamus Python?Bagaimana Menggabungkan Kamus dengan Python? . 1) Menggunakan metode update(). Anda dapat menggabungkan dua kamus dengan python menggunakan metode update(). . 2) Menggunakan gabungan(. ) operator. . 3) Menggunakan operator **. . 4) Membuka kamus kedua. . 5) Menggunakan koleksi. . 6) Menggunakan itertools. . 7) Menggunakan pemahaman kamus. . 8) Tambahkan nilai kunci umum Bagaimana cara menghapus kunci duplikat dari kamus Python?Anda dapat menghapus duplikat dari Python menggunakan dict. fromkeys() , yang menghasilkan kamus yang menghapus nilai duplikat. |