क्लास collections.defaultdict
एक डिफॉल्ट फैक्ट्री लेता है, जिसका इस्तेमाल डिफॉल्ट वैल्यू जेनरेट करने के लिए किया जाता है।
अगर dict
-जैसे ऑब्जेक्ट में निहित मानों को डिफ़ॉल्ट होना चाहिए False
, तो उदाहरण के रूप में बनाया जा सकता है:
d_false = defaultdict(bool)
डिफ़ॉल्ट मान के लिए समान प्राप्त करने का सबसे पैथोनिक तरीका क्या है True
?
अन्य शब्दों में, क्या कोई मानक कॉल करने योग्य वस्तु वापस आ रही है True
जिसे मुहावरेदार रूप से रिश्तेदार के रूप में उपयोग किया जाता है bool
?
बेशक, कारखाने को मेमने की अभिव्यक्ति के रूप में बनाया जा सकता है:
d_true = defaultdict(lambda: True)
लेकिन यह पहिया को फिर से मजबूत कर सकता है।
int() == 0
, list() == []
, str() == ''
, आदि तो मैं वहाँ यह करने के लिए एक मानक तरीका है नहीं लगता।
lambda: value
निर्माण मुहावरेदार pythonic तरीका एक स्थिर डिफ़ॉल्ट मान के साथ एक dict निर्माण करने के लिए है, मुझे पता है कि फ़ंक्शन वापस करने का कोई सरल तरीका नहीं है True
।
object()
truthy है - नहीं यकीन है कि अगर है उपयोगी
lambda: True
तब तक ठीक है जब तक आपको उस डिफॉल्ट को अचार बनाने की आवश्यकता नहीं है।