Zugriff auf geschachtelte dictionary-Objekte in Python
Ich versuche zu formatieren einer Zeichenfolge mit einem Element aus der verschachtelten dictionary (unten)
people = {
'Alice': {
'phone': '2341',
'addr': '87 Eastlake Court'
},
'Beth': {
'phone': '9102',
'addr': '563 Hartford Drive'
},
'Randy': {
'phone': '4563',
'addr': '93 SW 43rd'
}
}
Aus der obigen (einfachen) Wörterbuch, ich möchte eine Zeichenfolge formatiert ausdrucken Randy ' s Telefon-Erweiterung.
Ich bin in der Lage, Zugriff auf alle seine details Verwendung:
print("Randy's phone # is %(Randy)s" % people)
Aber ich bin mir nicht sicher, wie Sie gehen tiefer in das Wörterbuch, um herauszufinden, einfach die Telefonnummer aus dem Wörterbuch.
Ich bin mit Python 3.3, durch die Art und Weise.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden Sie die neue string-Formatierung:
oder
Macht es keinen Sinn, im Vorbeigehen das gesamte Wörterbuch, wenn Sie nur einen Wert verwenden.
oder
wird auch funktionieren.
Vorbei an der dict Sinn macht, wenn Sie haben eine Menge von diesen format-strings und nicht wissen, welche Werte Sie verwenden, und wollen, dass Sie in der Lage sein, um Zugriff auf alle Wert.
Oder wenn Sie zu viele Werte im format-string und übergeben Sie einzeln, das ist einfach zu langatmig.
"Randy's phone # is %s" % people['Randy']['phone']
ist geringfügig effizienter.print("Randy's phone # is %(phone)s" % people['randy'])
Würde eine der anderen vorgezogen, oder als mehr "Pythonic'?