Apabila berurusan dengan kamus dalam pengaturcaraan, selalunya perlu untuk mendapatkan kunci yang dikaitkan dengan nilai tertentu. Dalam konteks ini, anda dipersembahkan dengan fungsi yang bertujuan untuk mencari umur dalam kamus dan memaparkan nama yang sepadan.
Kod yang anda berikan menimbulkan KeyError pada baris 5 kerana ia cuba mencari umur sebagai kunci dalam kamus. Untuk menyelesaikan masalah ini, anda perlu mencari umur sebagai nilai sebaliknya.
Untuk menangani isu tersebut, pertimbangkan untuk menggunakan kekunci() dan kaedah values() dalam Python. Kaedah ini membolehkan anda mengasingkan kunci dan nilai dalam kamus ke dalam senarai berasingan.
Kod yang diperbetulkan di bawah menunjukkan cara untuk mendapatkan kunci yang dikaitkan dengan umur tertentu:
mydict = {'george': 16, 'amber': 19} search_age = raw_input("Provide age") name = mydict.keys()[mydict.values().index(int(search_age))] print(name)
Dalam Python 3.x, anda boleh menggunakan kod berikut:
mydict = {'george': 16, 'amber': 19} search_age = input("Provide age") name = list(mydict.keys())[list(mydict.values()).index(int(search_age))] print(name)
Pendekatan ini memisahkan nilai kamus ke dalam senarai, mencari kedudukan daripada nilai yang dikehendaki, dan kemudian mengambil kunci pada kedudukan itu, berjaya menyelesaikan carian terbalik. Kini, anda boleh mendapatkan semula nama yang dikaitkan dengan mana-mana umur yang disimpan dalam kamus.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melakukan Carian Terbalik untuk Mencari Kunci Berdasarkan Nilainya dalam Kamus Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!