Trong nhiều quy trình công việc mà bạn muốn đính kèm giá trị mặc định / ban đầu cho các khóa tùy ý, bạn không cần phải băm từng khóa riêng lẻ trước thời hạn. Bạn có thể sử dụng collections.defaultdict
. Ví dụ:
from collections import defaultdict
d = defaultdict(lambda: None)
print(d[1]) # None
print(d[2]) # None
print(d[3]) # None
Điều này là hiệu quả hơn, nó tiết kiệm phải băm tất cả các khóa của bạn ngay lập tức. Hơn nữa, defaultdict
là một lớp con của dict
, vì vậy thường không cần phải chuyển đổi trở lại từ điển thông thường.
Đối với quy trình công việc mà bạn yêu cầu điều khiển trên các khóa cho phép, bạn có thể sử dụng dict.fromkeys
theo câu trả lời được chấp nhận:
d = dict.fromkeys([1, 2, 3, 4])
dict.fromkeys([1, 2, 3], [])
, tất cả các khóa được ánh xạ vào cùng một danh sách và sửa đổi một cái sẽ sửa đổi tất cả.