web-dev-qa-db-fra.com

Créer un dictionnaire 2D en Python

J'ai une liste de détails d'une sortie pour "set1" qui sont comme "nom", "lieu", "animal", "chose" Et un "set2" avec les mêmes détails.

Je veux créer un dictionnaire avec dict_names[setx]['name']... etc. Sur ces lignes.

Est-ce la meilleure façon de le faire? Si non comment je le fais?

Je ne suis pas sûr de savoir comment fonctionne la 2D dans le dictionnaire .. Des pointeurs?

7
user2921139

Il aurait la syntaxe suivante

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

Vous pouvez alors regarder les choses comme

>>> dict_names['d1']['name']
'bob'
13
CoryKramer

Quelque chose comme ça marcherait:

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

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

Ensuite, vous pouvez faire:

d['set1']['name']

etc. Mieux vaut le considérer comme une structure imbriquée (au lieu d’une matrice 2D):

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

Jetez un coup d'oeil ici pour un moyen facile de visualiser les dictionnaires imbriqués.

2
elyase