2013-04-05 53 views

Trả lời

23

Liệt kê hiểu để giải cứu!

foo = [{} for _ in range(n)] 

Không có ký hiệu ngắn hơn, tôi sợ. Trong Python 2 bạn sử dụng xrange(n) thay vì range(n) để tránh hiện thực hóa danh sách vô dụng.

Việc thay thế, [{}] * n tạo ra một danh sách dài n với chỉ một từ điển, tham chiếu n lần. Điều này dẫn đến những bất ngờ khó chịu khi thêm khóa vào từ điển.

+0

Từ điển trống? – MattH

+0

Heh, oops, đã sửa. –

+1

Câu trả lời được đưa ra trước đây sẽ tốt cho tôi, vì tôi không quan tâm đến tài liệu tham khảo vì tôi chuyển đổi toàn bộ danh sách thành JSON trong bước tiếp theo. Nhưng tôi sẽ chấp nhận câu trả lời của bạn bởi vì nó được sử dụng nhiều hơn. –

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