Bisakah kita mendapatkan kunci dari nilai dalam kamus python?

Metode get()_ mengembalikan nilai untuk kunci yang ditentukan jika kuncinya ada di kamus

Contoh

marks = {'Physics':67, 'Maths':87}

print(marks.get('Physics'))

# Output: 67


Sintaks Kamus get()

Sintaks dari get()_ adalah

dict.get(key[, value]) 
_

dapatkan() Parameter

Metode get() membutuhkan maksimal dua parameter

  • kunci – kunci yang akan dicari di kamus
  • nilai (opsional) - Nilai yang akan dikembalikan jika kunci tidak ditemukan. Nilai defaultnya adalah None

Kembalikan Nilai dari get()

get() metode kembali

  • nilai untuk kunci yang ditentukan jika kunci ada di kamus
  • None jika kunci tidak ditemukan dan nilainya tidak ditentukan
  • nilai jika kunci tidak ditemukan dan nilai ditentukan

Contoh 1. Bagaimana cara kerja get() untuk kamus?

person = {'name': 'Phill', 'age': 22}

print('Name: ', person.get('name'))

print('Age: ', person.get('age')) # value is not provided

print('Salary: ', person.get('salary'))

# value is provided print('Salary: ', person.get('salary', 0.0))

Keluaran

Name:  Phill
Age:  22
Salary:  None
Salary:  0.0

Python get() method Vs dict[key] ke Access Elements

get() metode mengembalikan nilai default jika

dict.get(key[, value]) 
3 hilang

Namun, jika kunci tidak ditemukan saat Anda menggunakan

dict.get(key[, value]) 
4, pengecualian
dict.get(key[, value]) 
5 akan muncul

person = {}

# Using get() results in None

print('Salary: ', person.get('salary'))

# Using [] results in KeyError print(person['salary'])

Keluaran

Salary:  None
Traceback (most recent call last):
  File "", line 7, in 
    print(person['salary'])
KeyError: 'salary'
_

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

Kamus Python berisi pasangan nilai kunci. Pada artikel ini kami bertujuan untuk mendapatkan nilai kunci ketika kami mengetahui nilai elemennya. Idealnya nilai-nilai diekstraksi dari kunci tetapi di sini kita melakukan sebaliknya

Dengan indeks dan nilai

Kami menggunakan fungsi indeks dan nilai koleksi kamus untuk mencapai ini. Kami merancang daftar untuk pertama-tama mendapatkan nilai dan kemudian kunci darinya

Contoh

Demo Langsung

dictA = {"Mon": 3, "Tue": 11, "Wed": 8}
# list of keys and values
keys = list(dictA.keys())
vals = list(dictA.values())
print(keys[vals.index(11)])
print(keys[vals.index(8)])
# in one-line
print(list(dictA.keys())[list(dictA.values()).index(3)])
_

Keluaran

Menjalankan kode di atas memberi kita hasil berikut -

Tue
Wed
Mon

Dengan item

Kami merancang sebuah fungsi untuk mengambil nilai sebagai input dan membandingkannya dengan nilai yang ada di setiap item kamus. Jika nilainya cocok, kunci dikembalikan

Di python, kita bisa mendapatkan nilai yang ada di kamus menggunakan kunci hanya dengan menggunakan sintaks dict_name[key_name]. Tetapi tidak ada metode untuk mengekstrak kunci yang terkait dengan nilai saat kita memiliki nilai. Pada artikel ini, kita akan melihat cara-cara yang dengannya kita bisa mendapatkan kunci dari nilai yang diberikan dalam kamus

Dapatkan kunci dari nilai dengan mencari item dalam kamus

Ini adalah cara termudah untuk mendapatkan kunci untuk suatu nilai. Dalam metode ini kami akan memeriksa setiap pasangan kunci-nilai untuk menemukan kunci yang terkait dengan nilai sekarang. Untuk tugas ini, kita akan menggunakan metode items() untuk kamus python. Metode items() mengembalikan daftar tupel yang berisi pasangan nilai kunci. Kami akan mencari setiap tupel untuk menemukan kunci yang terkait dengan nilai kami sebagai berikut

myDict={"name":"PythonForBeginners","acronym":"PFB"}
print("Dictionary is:")
print(myDict)
dict_items=myDict.items()
print("Given value is:")
myValue="PFB"
print(myValue)
print("Associated Key is:")
for key,value in dict_items:
    if value==myValue:
        print(key)

Keluaran

Bisakah kita mendapatkan kunci dari nilai dalam kamus python?

Dictionary is:
{'name': 'PythonForBeginners', 'acronym': 'PFB'}
Given value is:
PFB
Associated Key is:
acronym

Pada program di atas, kami telah membuat daftar item di myDict menggunakan myDict. item() dan kemudian kami memeriksa setiap item dalam daftar untuk menemukan kunci untuk nilai kami.  

Dapatkan kunci dari nilai dengan menggunakan daftar python

Kita dapat membuat daftar kunci dan nilai yang terpisah dan kemudian kita dapat mengambil kunci dari nilai yang diberikan menggunakan metode index(). Untuk tugas ini, pertama-tama kita akan membuat daftar kunci yang ada di kamus menggunakan metode keys() dan kemudian kita akan membuat daftar nilai yang ada di kamus menggunakan metode values(). Sekarang kita akan mendapatkan indeks dari nilai yang diberikan dari daftar nilai menggunakan metode index(). Seperti yang kita ketahui bahwa daftar kunci memiliki urutan kunci yang sama dengan nilai dalam daftar nilai, indeks nilai dalam daftar nilai akan sama dengan indeks kunci terkait dalam daftar kunci. Jadi, setelah menemukan indeks nilai di daftar nilai, kita dapat menemukan kunci di daftar kunci di indeks yang sama. Hal ini dapat dilakukan sebagai berikut

myDict={"name":"PythonForBeginners","acronym":"PFB"}
print("Dictionary is:")
print(myDict)
dict_keys=list(myDict.keys())
dict_values=list(myDict.values())
print("Given value is:")
myValue="PFB"
print(myValue)
val_index=dict_values.index(myValue)
print("Associated key is:")
myKey=dict_keys[val_index]
print(myKey)

Keluaran

Dictionary is:
{'name': 'PythonForBeginners', 'acronym': 'PFB'}
Given value is:
PFB
Associated key is:
acronym

Dapatkan kunci dari nilai dengan menggunakan pemahaman daftar

Alih-alih menggunakan metode index(), kita dapat menggunakan pemahaman daftar untuk mendapatkan kunci yang terkait dengan nilai yang diberikan. Untuk menemukan kuncinya, kami akan membuat daftar kunci yang memiliki nilai terkait sama dengan nilai yang diberikan menggunakan pemahaman daftar sebagai berikut


myDict={"name":"PythonForBeginners","acronym":"PFB"}
print("Dictionary is:")
print(myDict)
dict_items=myDict.items()
print("Given value is:")
myValue="PFB"
print(myValue)
print("Associated key is:")
myKey=[key for key,value in dict_items if value==myValue]
print(myKey)

Keluaran

Dictionary is:
{'name': 'PythonForBeginners', 'acronym': 'PFB'}
Given value is:
PFB
Associated key is:
['acronym']

Kesimpulan

Pada artikel ini, kita telah melihat tiga cara untuk mendapatkan kunci dari kamus python menggunakan pemahaman daftar, metode item() dan metode daftar indeks(). Nantikan artikel yang lebih informatif

Terkait

Pelatihan Python yang Direkomendasikan

Kursus. Python 3 Untuk Pemula

Lebih dari 15 jam konten video dengan instruksi terpandu untuk pemula. Pelajari cara membuat aplikasi dunia nyata dan kuasai dasar-dasarnya

Bagaimana cara mendapatkan kunci dari nilai dalam kamus dengan Python?

Dengan Python, Anda bisa mendapatkan nilai dari kamus dengan menentukan kunci seperti dict[key] . Dalam hal ini, KeyError dimunculkan jika kuncinya tidak ada. Perhatikan bahwa tidak ada masalah untuk menentukan kunci yang tidak ada jika Anda ingin menambahkan elemen baru.

Bisakah Anda mencetak kunci nilai dalam kamus Python?

Dict Python. keys() metode dapat digunakan untuk mengambil kunci kamus, yang kemudian dapat dicetak menggunakan fungsi print() . Objek tampilan yang menampilkan daftar setiap kunci dalam kamus adalah hasil dari dict.

Bisakah kunci kamus dapat diakses menggunakan nilai dalam Python?

Penjelasan. Nilai kamus dapat diakses menggunakan kunci tetapi kunci kamus tidak dapat diakses menggunakan nilai .

Bagaimana cara menemukan kunci dalam kamus Python?

Untuk sekadar memeriksa apakah ada kunci dalam kamus Python, Anda dapat menggunakan operator in untuk mencari melalui kunci kamus seperti ini. peliharaan = {'kucing'. 1, 'anjing'. 2, 'ikan'. 3} jika 'anjing' di hewan peliharaan. print('Anjing ditemukan. ') # Anjing ditemukan.