2015-06-03 16 views

Trả lời

7
test = defaultdict(defaultdict(list)) 

defaultdict yêu cầu bạn cung cấp cho nó một cái gì đó có thể được gọi là để tạo ra các phím cho các giá trị bị mất tích. list có thể gọi được, nhưng defaultdict(list) thì không. Đó là phiên bản defaultdict và bạn không thể gọi số defaultdict.

lambda là một chức năng mà khi được gọi, trả về giá trị có thể được sử dụng trong từ điển, do đó, nó hoạt động.

Về cơ bản, defaultdict(list) sẽ được đánh giá trướcdefaultdict của bạn được khởi tạo, và bạn muốn Hoãn đó cho đến khi một phím mất tích đang gặp phải. Đây là lý do tại sao một đối tượng có thể gọi (một loại hoặc một chức năng) được sử dụng ở đây.

+2

Tương tự cho 'danh sách' là, tất nhiên,' lambda: list() '. –

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