2014-09-18 12 views
5

"set1" için "name", "place", "animal", "thing" ve aynı detaylara sahip bir "set2" gibi çıktılardan oluşan bir ayrıntı listesi var.Python'da 2B sözlüğü oluşturma

dict_names[setx]['name']... vb. Ile bir sözlük oluşturmak istiyorum. Bu satırlarda.

Bunu yapmanın en iyi yolu bu mu? Eğer değilse nasıl yaparım?

2D'nin sözlükte nasıl çalıştığından emin değilim .. Herhangi bir işaretçi?

+0

Daha spesifik ve tam bir örnek vermemize yardımcı olur. Setx'de ne var ve ne istiyorsun dict_names [setx] ['name'] 'geri dönmek için? – abarnert

cevap

9

O Ardından çalışacak böyle

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

İyi iş zekası (en azından ben öyle düşünüyorum…). – abarnert

+0

{'name': 'bob', 'place': 'çim', 'animal': 'man'} parçam var, ancak bunu d1'in anahtarı olarak nasıl atayabilirim? – user2921139

+0

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

2

Something gibi şeyler bakabilirsiniz

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

aşağıdaki sözdizimini olurdu:

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

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

Yapabileceğiniz:

d['set1']['name'] 

vb yuvalanmış yapının (yerine 2B matrisine) olarak düşünmek daha iyidir:

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

iç içe sözlükleri görselleştirmek için kolay bir yol bir göz here atın.

+0

bu, tekrarlanan değerleri kaydeder – numerah