Saya ingin mengimplementasikan HashMap dengan Python. Saya ingin meminta input dari pengguna. tergantung pada masukannya saya mengambil beberapa informasi dari HashMap. Jika pengguna memasukkan kunci HashMap, saya ingin mengambil nilai yang sesuai.
Bagaimana cara menerapkan fungsi ini dalam Python?
HashMap<String,String> streetno=new HashMap<String,String>();
streetno.put("1", "Sachin Tendulkar");
streetno.put("2", "Dravid");
streetno.put("3","Sehwag");
streetno.put("4","Laxman");
streetno.put("5","Kohli")
Jawaban:
Kamus Python adalah tipe bawaan yang mendukung pasangan nilai kunci.
serta menggunakan kata kunci dict:
atau:
sumber
dict
, yang akan lebih sesuai dalam konteks ini, adalahdict(key1=value1, key2=value2, ...)
tetapi yang memerlukan kunci untuk string yang juga pengidentifikasi Python yang valid (dan secara internal, ini juga membuat kamus).dict
konstruktor mendukung kata kunci argumen dan bekerja sepertidef dict(**kwds): return kwds
jika diberi argumen kata kunci.Yang Anda inginkan (pada saat pertanyaan itu awalnya diajukan) adalah petunjuk. Ini sebuah petunjuk: Di Python, Anda bisa menggunakan kamus .
sumber
Ini built-in untuk Python. Lihat kamus .
Berdasarkan contoh Anda:
Anda kemudian dapat mengaksesnya seperti ini:
Juga layak disebutkan: itu dapat menggunakan tipe data yang tidak bisa diubah sebagai kunci. Artinya, dapat menggunakan tuple, boolean, atau string sebagai kunci.
sumber
Dan untuk mengambil nilai:
Atau
Itu menggunakan angka sebagai kunci, beri tanda kutip di sekitar angka untuk menggunakan string sebagai kunci.
sumber
Peta hash dibangun di dalam Python, mereka disebut kamus :
Pemakaian:
Lihat dokumentasi untuk informasi lebih lanjut, misalnya metode bawaan dan sebagainya. Mereka hebat, dan sangat umum dalam program Python (tidak mengejutkan).
sumber
Berikut ini adalah implementasi dari Hash Map menggunakan python Untuk kesederhanaan peta hash adalah ukuran tetap 16. Ini dapat diubah dengan mudah. Rehashing berada di luar jangkauan kode ini.
Keluaran:
sumber
hash(key) & 15
,,73%15= 13
tapi itu sama:1001001 & 0001111 = 0001111
yaitu9
dan tidak13
, saya pikir menggunakan mod adalah operasi yang benar. Koreksi saya jika saya salah!sumber
Penghitung Python juga merupakan opsi yang baik dalam hal ini:
Ini mengembalikan dict dengan jumlah setiap elemen dalam daftar:
sumber
Dalam python Anda akan menggunakan kamus.
Ini adalah tipe yang sangat penting dalam python dan sering digunakan.
Anda dapat membuatnya dengan mudah
Kamus memiliki banyak metode:
Anda tidak dapat memengaruhi urutan dikte.
sumber