Je souhaite implémenter un HashMap en Python. Je veux demander une entrée à un utilisateur. en fonction de son entrée, je récupère certaines informations du HashMap. Si l'utilisateur entre une clé du HashMap, je voudrais récupérer la valeur correspondante.
Comment implémenter cette fonctionnalité en 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")
Réponses:
Le dictionnaire Python est un type intégré qui prend en charge les paires clé-valeur.
ainsi que l'utilisation du mot-clé dict:
ou:
la source
dict
, qui serait plus appropriée dans ce contexte, estdict(key1=value1, key2=value2, ...)
mais cela nécessite les clés des chaînes qui sont également des identifiants Python valides (et en interne, cela crée également un dictionnaire).dict
constructeur prend en charge les arguments de mots-clés et fonctionne commedef dict(**kwds): return kwds
si des arguments de mots-clés étaient donnés.Tout ce que vous vouliez (au moment où la question a été posée à l'origine) était un indice. Voici un indice: en Python, vous pouvez utiliser des dictionnaires .
la source
Il est intégré à Python. Voir les dictionnaires .
Sur la base de votre exemple:
Vous pourrez alors y accéder comme ceci:
Il convient également de mentionner: il peut utiliser n'importe quel type de données non mutable comme clé. Autrement dit, il peut utiliser un tuple, un booléen ou une chaîne comme clé.
la source
Et pour récupérer des valeurs:
Ou
Cela utilise des nombres comme clés, mettez des guillemets autour des nombres pour utiliser des chaînes comme clés.
la source
Les cartes de hachage sont intégrées à Python, elles sont appelées dictionnaires :
Usage:
Voir la documentation pour plus d'informations, par exemple les méthodes intégrées, etc. Ils sont excellents et très courants dans les programmes Python (sans surprise).
la source
Voici l'implémentation de la carte de hachage en utilisant python Pour la simplicité, la carte de hachage est d'une taille fixe 16. Cela peut être changé facilement. Rehashing est hors de portée de ce code.
Production:
la source
hash(key) & 15
,73%15= 13
mais c'est équivalent:1001001 & 0001111 = 0001111
c'est à dire9
et non13
, je pense que l'utilisation de mod est l'opération correcte. Corrigez-moi si je me trompe!la source
Le compteur Python est également une bonne option dans ce cas:
Cela renvoie un dict avec le nombre de chaque élément de la liste:
la source
En python, vous utiliseriez un dictionnaire.
C'est un type très important en python et souvent utilisé.
Vous pouvez en créer un facilement en
Les dictionnaires ont de nombreuses méthodes:
Vous ne pouvez pas influencer l'ordre d'un dict.
la source