Tôi nghĩ rằng tôi muốn tạo từ điển 2d với nhiều khóa cho mỗi giá trị.Từ điển 2d có nhiều khóa cho mỗi giá trị
tôi biết làm thế nào để tạo ra một từ điển 2d sử dụng defaultdict
:
from collections import defaultdict
2d_dict = defaultdict(dict)
2d_dict['canned_food']['spam'] = 'delicious'
Và tôi biết rằng việc sử dụng các từ điển thông thường bạn có thể làm nhiều phím như
dictionary={('food','canned_food'):spam}
Nhưng tôi muốn làm một cái gì đó như:
2d_dict[('canned_food','food')]['spam'] = 'delicious'
Trong thứ nguyên đầu tiên của từ điển tôi cần ~ 25 các khóa cho mỗi giá trị. Có cách nào để thực hiện việc này với defaultdict
không?
Thậm chí nếu có cách để làm điều đó với dicts thì đây có phải là cách hợp lý để tạo một bảng tra cứu đa chiều đơn giản không?
Cảm ơn bạn, tôi đã rõ ràng là cố gắng dụ (với các tên biến không hợp lệ) Tôi phải có có lỗi đánh máy. Bạn là đúng mặc dù nó chỉ hoạt động. – Keith
Làm cách nào để truy cập từ điển. Tôi nghĩ: 'in d2_dict ['fresh_food'] ['eggs']' sẽ in ngon nhưng nó xuất hiện một lỗi. Nếu tôi sử dụng một từ điển mà không có một danh sách nó hoạt động tốt. Tôi có phải làm gì đặc biệt để truy cập vào dict không? – Keith
''fresh_food'' không phải là khóa trong từ điển cấp cao nhất -' (' fresh_food ',' food ') 'là. Vì vậy, bạn sẽ sử dụng 'print d2_dict ['fresh_food', 'food'] ['eggs']'. –