Désolé pour cette question de base, mais mes recherches à ce sujet ne révèlent rien d'autre que la façon d'obtenir la clé d'un dictionnaire en fonction de sa valeur que je préférerais ne pas utiliser car je veux simplement le texte / nom de la clé et je crains que la recherche par valeur peut finir par renvoyer 2 clés ou plus si le dictionnaire a beaucoup d'entrées ... ce que j'essaye de faire est ceci:
mydictionary={'keyname':'somevalue'}
for current in mydictionary:
result = mydictionary.(some_function_to_get_key_name)[current]
print result
"keyname"
La raison en est que je les imprime dans un document et que je souhaite utiliser le nom de la clé et la valeur pour ce faire
J'ai vu la méthode ci-dessous mais cela semble renvoyer simplement la valeur de la clé
get(key[, default])
python
dictionary
key
Meule
la source
la source
current
est la clé actuelle, faites-leprint current
Réponses:
Vous devez parcourir les clés avec:
la source
for key in mydictionary:
print (f"key: {key}, value: {mydictionary[key]}")
Si vous souhaitez imprimer la clé et la valeur, utilisez ce qui suit:
la source
Sur la base de l'exigence ci-dessus, voici ce que je suggérerais:
la source
my_dict.item()
ou la compréhension de liste,keys = list(my_dict.keys)
mais juste au cas où quelqu'un voudrait faire cela en Python 3: (ligne 2)keys = sorted(my_dict.keys())
+ add () pour imprimer.Si le dictionnaire contient une paire comme celle-ci:
alors vous pouvez obtenir comme
Pour Python 3.5, procédez comme suit:
la source
TypeError: 'dict_items' object does not support indexing
key = list(d.keys())[0]
next()
est meilleure selon: stackoverflow.com/a/27638751/1488445keys=[i for i in mydictionary.keys()]
oukeys = list(mydictionary.keys())
la source
Aussi simple que cela:
Vous allez modifier votre dictionnaire et devez d'abord en faire une copie
la source
Vous pouvez simplement utiliser
*
qui décompresse les clés du dictionnaire. Exemple:la source
Itérer sur le dictionnaire (i) renverra la clé, puis l'utilisera (i) pour obtenir la valeur
la source
Pour python 3 Si vous souhaitez obtenir uniquement les clés, utilisez ceci. Remplacez print (clé) par print (valeurs) si vous voulez les valeurs.
la source
Ce que je fais parfois, c'est que je crée un autre dictionnaire juste pour pouvoir accéder à tout ce dont j'ai besoin sous forme de chaîne. Ensuite, j'itère plusieurs dictionnaires correspondant aux clés pour construire par exemple une table avec la première colonne comme description.
Vous pouvez facilement faire correspondre une quantité énorme de dictionnaires aux données (j'aime le fait qu'avec un dictionnaire, vous pouvez toujours vous référer à quelque chose de bien connu sous le nom de clé)
oui j'utilise des dictionnaires pour stocker les résultats des fonctions, donc je n'ai pas besoin d'exécuter ces fonctions à chaque fois que je les appelle une seule fois, puis j'accède aux résultats à tout moment.
EDIT: dans mon exemple, le nom de la clé n'a pas vraiment d'importance (personnellement, j'aime utiliser les mêmes noms de clé car il est plus facile d'aller choisir une seule valeur dans l'un de mes dictionnaires correspondants), assurez-vous simplement que le nombre de clés dans chaque dictionnaire est le même
la source
Vous pouvez le faire en convertissant les clés et les valeurs dict dans la liste. Cela peut également être fait pour les articles.
Exemple:
la source
changez facilement la position de vos clés et valeurs, puis utilisez des valeurs pour obtenir la clé, dans le dictionnaire, les clés peuvent avoir la même valeur mais elles (clés) doivent être différentes. par exemple, si vous avez une liste et que la première valeur de celle-ci est une clé pour votre problème et que les autres valeurs sont les spécifications de la première valeur:
vous pouvez enregistrer et utiliser facilement les données dans le dictionnaire par cette boucle:
alors vous pouvez trouver la base de clé (nom) sur n'importe quelle valeur d'entrée.
la source