Lớp collections.defaultdictlấy một nhà máy mặc định, được sử dụng để tạo ra một giá trị mặc định.
Nếu các giá trị được chứa trong dictđối tượng giống như mặc định False, thì thể hiện có thể được tạo như sau:
d_false = defaultdict(bool)
Cách pythonic nhất để đạt được cùng một giá trị mặc định là Truegì?
Nói cách khác, có một đối tượng có thể gọi tiêu chuẩn trở lại Trueđược sử dụng một cách thành ngữ như là họ hàng của boolkhông?
Tất nhiên, nhà máy có thể được xây dựng như một biểu thức lambda:
d_true = defaultdict(lambda: True)
nhưng điều này có thể được phát minh lại bánh xe.
int() == 0, list() == [], str() == '', vv Vì vậy, tôi không nghĩ rằng có một cách tiêu chuẩn để làm điều này.
lambda: valuetrúc này là cách Pythonic thành ngữ để xây dựng một dict với giá trị mặc định tĩnh; Tôi biết không có cách nào đơn giản hơn để có được một chức năng trở lại True.
object()là sự thật - không chắc điều đó có hữu ích không
lambda: Truecũng tốt miễn là bạn không cần phải chọn mặc định đó.