Lớp collections.defaultdict
lấ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à True
gì?
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 bool
khô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: value
trú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: True
cũng tốt miễn là bạn không cần phải chọn mặc định đó.