2014-09-18 10 views
5

Ho una lista di dettagli da un'uscita per "set1" che sono come "nome", "luogo", "animale", "cosa" e un "set2" con gli stessi dettagli.Creazione dizionario 2D in Python

Voglio creare un dizionario con dict_names[setx]['name']... ecc. Su queste linee.

È il modo migliore per farlo? Se no come faccio?

Non sono sicuro di come funziona il 2D nel dizionario .. Eventuali puntatori?

+0

Sarebbe utile dare un esempio più specifico e completo. Cosa c'è in 'setx', e cosa vuoi' dit_names [setx] ['name'] 'per tornare? – abarnert

risposta

9

Si avrebbe la seguente sintassi

dict_names = {'d1' : {'name':'bob', 'place':'lawn', 'animal':'man'}, 
       'd2' : {'name':'spot', 'place':'bed', 'animal':'dog'}} 

È quindi possibile guardare le cose come

>>> dict_names['d1']['name'] 
'bob' 
+1

Buon lavoro di lettura mentale (almeno penso di sì ...). – abarnert

+0

Ho {'name': 'bob', 'place': 'lawn', 'animal': 'man'} parte creata ma come posso assegnarla come chiave per d1? – user2921139

+0

'dict_names ['d1'] = {'name': 'bob', 'place': 'lawn', 'animal': 'man'}' – CoryKramer

2

Qualcosa di simile potrebbe funzionare:

set1 = { 
    'name': 'Michael', 
    'place': 'London', 
    ... 
    } 
# same for set2 

d = dict() 
d['set1'] = set1 
d['set2'] = set2 

Poi si può fare:

d['set1']['name'] 

ecc E 'meglio pensare a come una struttura annidata (invece di una matrice 2D):

{ 
'set1': { 
     'name': 'Michael', 
     'place': 'London', 
     ... 
     } 
'set2': { 
     'name': 'Michael', 
     'place': 'London', 
     ... 
     } 
} 

Date un'occhiata here di un modo semplice per visualizzare i dizionari nidificate.

+0

salva i valori ripetuti – numerah