277 votes

Comment imprimer la clé d'un dictionnaire ?

Je voudrais imprimer une clé spécifique du dictionnaire Python :

mydic = {}
mydic['key_name'] = 'value_name'

Maintenant je peux vérifier si mydic.has_key('key_name') mais ce que je voudrais faire, c'est imprimer le nom de la clé. 'key_name' . Bien sûr, je pourrais utiliser mydic.items() mais je ne veux pas tous les touches énumérées, seulement une touche spécifique. Par exemple, je m'attendrais à quelque chose comme ceci (en pseudo-code) :

print "the key name is", mydic['key_name'].name_the_key(), "and its value is", mydic['key_name']

Y a-t-il un name_the_key() pour imprimer le nom d'une clé ?


Editar: OK, merci beaucoup les gars pour vos réactions ! :) Je réalise que ma question n'est pas bien formulée et qu'elle est triviale. Je suis juste confus parce que je me suis rendu compte 'key_name' y mydic['key_name'] sont deux choses différentes et je pensais qu'il serait incorrect d'imprimer la 'key_name' hors du contexte du dictionnaire. Mais en effet, je peux simplement utiliser la fonction 'key_name' pour faire référence à la clé ! :)

456voto

juanchopanza Points 115680

Un dictionnaire a, par définition, un nombre arbitraire de clés. Il n'y a pas de "clé". Vous avez la keys() qui vous donne une méthode python list de toutes les clés, et vous avez le iteritems() qui renvoie des paires clé-valeur, donc

for key, value in mydic.iteritems() :
    print key, value

Version Python 3 :

for key, value in mydic.items() :
    print (key, value)

Vous avez donc la main sur les clés, mais elles n'ont vraiment de sens que si elles sont associées à une valeur. J'espère avoir compris votre question.

126voto

Mason Points 1186

En outre, vous pouvez utiliser....

print(dictionary.items()) #prints keys and values
print(dictionary.keys()) #prints keys
print(dictionary.values()) #prints values

39voto

Dominic Santos Points 1117

Hmm, je pense que ce que vous voulez faire c'est imprimer tous les clés du dictionnaire et leurs valeurs respectives ?

Si c'est le cas, vous voulez les éléments suivants :

for key in mydic:
  print "the key name is" + key + "and its value is" + mydic[key]

Veillez également à utiliser les + au lieu des ,'. La virgule place chacun de ces éléments sur une ligne distincte, alors que le signe + les place sur la même ligne.

32voto

ademar111190 Points 2855
dic = {"key 1":"value 1","key b":"value b"}

#print the keys:
for key in dic:
    print key

#print the values:
for value in dic.itervalues():
    print value

#print key and values
for key, value in dic.iteritems():
    print key, value

Note : Dans Python 3, dic.iteritems() a été renommé dic.items().

25voto

zenna Points 2903

Le nom de la clé 'nom_clé' est nom_clé, donc print 'key_name' ou toute autre variable qui le représente.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X