Hindari kunci duplikat di kamus python

Alat berikut memvisualisasikan apa yang dilakukan komputer langkah demi langkah saat menjalankan program tersebut

Editor Kode Python

Punya cara lain untuk menyelesaikan solusi ini?

Sebelumnya. Tulis program Python untuk mendapatkan kamus dari bidang objek
Lanjut. Tulis program Python untuk memeriksa kamus kosong atau tidak

Berapa tingkat kesulitan latihan ini?

Mudah Sedang Keras

Uji keterampilan Pemrograman Anda dengan kuis w3resource



Ikuti kami di Facebook dan Twitter untuk pembaruan terkini.

Piton. Kiat Hari Ini

getsizeof()

Metode Getsizeof() dari pustaka sys Python akan memberi tahu Anda ukuran objek Python di memori

import sys
x="Australia"
y=sys.getsizeof(x)
print(y)

Keluaran

58
_

Hasilnya dalam byte

Getsizeof() akan memberikan ukuran objek Python apa pun. Rentang objek, objek byte, objek terbalik, objek daftar, objek kamus, daftar terus berlanjut

Ini hanyalah metode singkat untuk operasi yang sama yang dilakukan di atas. Contoh kode untuk hal yang sama seperti yang ditunjukkan di bawah ini

eg_dic={1:1,2:2,3:2,4:3}
print("The original dictionary is:",eg_dic)
temp={val:key for key,val in eg_dic.items()}
res={val:key for key, val in temp.items()}
print("The dictionary after removing the duplicates is:",res)
The original dictionary is: {1: 1, 2: 2, 3: 2, 4: 3}
The dictionary after removing the duplicates is: {1: 1, 3: 2, 4: 3}
eg_dic={1:1,2:2,3:2,4:3}
print("The original dictionary is:",eg_dic)
for key,val in eg_dic.items():
    if val not in res.values():
        res[key]=val
print("The dictionary after removing the duplicates is:",res)
The original dictionary is: {1: 1, 2: 2, 3: 2, 4: 3}
The dictionary after removing the duplicates is: {1: 1, 3: 2, 4: 3}

Nah, jika Anda tidak peduli untuk mempertahankan urutan daftar, Anda dapat menggunakan opsi set(). Ini melemparkan kamus ke dalam satu set. Di set, sebuah elemen hanya dapat muncul sekali dan karenanya akan menghapus semua duplikat

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

Kadang-kadang, saat bekerja dengan kamus Python, kami dapat memiliki masalah di mana kami perlu menghapus semua nilai duplikat kamus, dan kami tidak khawatir jika ada kunci yang dihapus dalam proses. Aplikasi semacam ini dapat terjadi dalam pemrograman sekolah dan pemrograman sehari-hari. Mari kita bahas cara-cara tertentu di mana tugas ini dapat dilakukan

Metode #1. Menggunakan lingkaran
Ini adalah cara kekerasan di mana kita melakukan tugas ini. Dalam hal ini, kami melacak nilai yang terjadi, dan menghapusnya jika berulang




# Python3 code to demonstrate working of _

# Remove duplicate values in dictionary

# Using loop_

 _

# initializing dictionary

test_dict= {'gfg' :# Remove duplicate values in dictionary0# Remove duplicate values in dictionary1# Remove duplicate values in dictionary2 :# Remove duplicate values in dictionary4# Remove duplicate values in dictionary1# Remove duplicate values in dictionary6 :# Remove duplicate values in dictionary8# Remove duplicate values in dictionary1# Using loop0 :# Remove duplicate values in dictionary0# Remove duplicate values in dictionary1# Using loop4 :# Remove duplicate values in dictionary8# Using loop7

Bagaimana cara menghapus kunci duplikat dari kamus Python?

Buat kamus, gunakan item Daftar sebagai kunci . Ini secara otomatis akan menghapus duplikat apa pun karena kamus tidak dapat memiliki kunci duplikat.

Bagaimana cara menghapus pasangan nilai kunci duplikat dalam kamus Python?

Metode Pemahaman Kamus untuk menghapus duplikat dari kamus dengan Python. Nah, jika Anda tidak ingin mempertahankan urutan daftar, Anda dapat menggunakan opsi set() . Ini melemparkan kamus ke dalam satu set. Di set, sebuah elemen hanya dapat muncul sekali dan karenanya akan menghapus semua duplikat.

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 menemukan kunci duplikat di kamus Python?

Kami menukar kunci dengan nilai kamus lalu terus menambahkan nilai yang terkait dengan kunci tertentu . Dengan cara ini nilai duplikat dipukul dan kita bisa melihatnya di kamus baru yang dihasilkan.