2014-09-18 17 views
5

Tôi có danh sách chi tiết từ đầu ra cho "set1" giống như "tên", "địa điểm", "động vật", "điều" và "set2" có cùng chi tiết.Tạo từ điển 2D trong Python

Tôi muốn tạo từ điển với dict_names[setx]['name']... v.v. Trên các dòng này.

Đó có phải là cách tốt nhất để làm điều đó không? Nếu không làm thế nào để tôi làm điều đó?

Tôi không chắc chắn cách 2D hoạt động trong từ điển .. Bất kỳ con trỏ nào?

+0

Nó sẽ giúp đưa ra một ví dụ cụ thể và đầy đủ hơn. Có gì trong 'setx', và bạn muốn' dict_names [setx] ['name'] 'trả về cái gì? – abarnert

Trả lời

9

Nó sẽ có cú pháp sau

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

Sau đó bạn có thể nhìn mọi thứ lên như

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

Làm tốt công việc đọc tâm trí (ít nhất là tôi nghĩ vậy…). – abarnert

+0

Tôi có {'name': 'bob', 'place': 'lawn', 'animal': phần 'man'} được tạo nhưng làm cách nào để gán nó làm khóa cho d1? – user2921139

+0

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

2

Something như thế này sẽ làm việc:

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

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

Sau đó, bạn có thể làm:

d['set1']['name'] 

vv Nó là tốt hơn để suy nghĩ về nó như là một cấu trúc lồng nhau (thay vì một ma trận 2D):

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

Hãy xem here kiếm một cách dễ dàng để hình dung từ điển lồng nhau.

+0

điều này sẽ lưu các giá trị lặp lại – numerah

Các vấn đề liên quan