Sto cercando di formattare una stringa utilizzando un elemento da un dizionario annidato (in basso)Accesso alla annidati voci del dizionario in Python
people = {
'Alice': {
'phone': '2341',
'addr': '87 Eastlake Court'
},
'Beth': {
'phone': '9102',
'addr': '563 Hartford Drive'
},
'Randy': {
'phone': '4563',
'addr': '93 SW 43rd'
}
}
dal dizionario sopra (semplice), voglio formattare una stringa da stampare L'estensione del telefono di Randy.
sono in grado di accedere a tutti i suoi dettagli utilizzando:
print("Randy's phone # is %(Randy)s" % people)
Ma io non sono sicuro su come andare più in profondità nel dizionario di individuare solo il numero di telefono dal dizionario.
Sto usando Python 3.3, a proposito.
Questa è la soluzione più accurata, IMO, ma "il numero di telefono di Randy è% s"% persone ["Randy"] ["telefono"] "è leggermente più efficiente. – Aya
Questo è esattamente! Grazie, non ero a conoscenza della nuova formattazione delle stringhe. Inbar ha presentato un'altra opzione valida: 'print (" Il numero di telefono di Randy è% (telefono) s "% people ['randy'])' Uno si preferirebbe all'altro o considerato più "Pythonic"? – Keith
Aggiunto questo commento per rispondere. –