L'accès imbriquée des éléments dans le dictionnaire en Python
Je suis en train de formater une chaîne de caractères à l'aide d'un élément à partir d'un ensemble de dictionnaire (ci-dessous)
people = {
'Alice': {
'phone': '2341',
'addr': '87 Eastlake Court'
},
'Beth': {
'phone': '9102',
'addr': '563 Hartford Drive'
},
'Randy': {
'phone': '4563',
'addr': '93 SW 43rd'
}
}
À partir de ci-dessus (simple) dictionnaire, je veux formater une chaîne de caractères à imprimer Randy de téléphone de l'extension.
Je suis en mesure d'accéder à toutes ses informations à l'aide de:
print("Randy's phone # is %(Randy)s" % people)
Mais je ne suis pas sûr de la manière d'aller plus loin dans le dictionnaire de citer le numéro de téléphone à partir du dictionnaire.
Je suis à l'aide de Python 3.3, par la manière.
OriginalL'auteur Keith | 2013-04-23
Vous devez vous connecter pour publier un commentaire.
Utiliser le nouvelle mise en forme de chaîne:
ou
Il n'y a pas d'intérêt à passer la totalité du dictionnaire si vous utilisez uniquement une valeur.
ou
.
Passant le dict de sens que si vous avez beaucoup de ces chaînes de format et de ne pas connaître les valeurs qu'ils utilisent, et que vous souhaitez être en mesure d'accéder à n'importe quelle valeur.
Ou si vous utilisez beaucoup de valeurs dans la chaîne de format et de les transmettre individuellement est juste trop verbeux.
"Randy's phone # is %s" % people['Randy']['phone']
est légèrement plus efficace.C'est exactement cela! Merci, je n'étais pas au courant de la nouvelle mise en forme de chaîne. Inbar a présenté une autre option valable:
print("Randy's phone # is %(phone)s" % people['randy'])
Serait un être privilégié par rapport à l'autre, ou considérés comme plus "Pythonic'?Ajouté ce commentaire répondre.
OriginalL'auteur Pavel Anossov