दिलचस्प पोस्ट
सीएलएल डेटाबेस में सी # के साथ डाइट टाइम डालें नियंत्रण के डबल क्लिक ईवेंट हैंडलर को WPF में कमांड कैसे बाँध सकता है? पंक्तियों के लिए डायनामिक कॉलम ट्रांसपोज़िंग PHP – अच्छा क्रोनबॉब / क्रॉन्टाब / क्रॉन ट्यूटोरियल या पुस्तक वर्चुअल वातावरण में स्पाइडर चलाने के लिए कैसे? एंड्रॉइड में मैं इस JSON को पार्स कैसे कर सकता हूं? scanf ("% * s") और scanf ("% * d") स्वरूप पहचानकर्ता क्या है? सी / सी + + मैक्रो में कॉमा अजगर में पूर्णांक को पूर्णांक में कनवर्ट करने का सबसे आसान तरीका? सीएसएस में 'ज़ूम' क्या करता है? मैं "नेटवर्क" समय कैसे प्राप्त कर सकता हूं, ("स्वचालित" सेटिंग से "नेटवर्क-प्रदान किए गए मानों का उपयोग करें" कहलाता है), फोन पर समय नहीं है? ASP.NET MVC में नियंत्रक नाम सम्मेलन को बदलने धूमधाम में कुकीज़ के बिना सहायक सत्र .NET 4.0 और खतरनाक OnUserPreferenceChanged हैंग एंड्रॉइड, गतिशील रूप से एक संपादन टेक्स्ट से रंग को रेखांकित करते हैं

पायथन में चर नाम के रूप में अंडरस्कोर _

पीटर नॉरविग में एक निबंध है जिसमें सुडोकू पहेली को सुलझाने के लिए एक कार्यक्रम का वर्णन किया गया है, यहां तक ​​कि सबसे कठिन लोगों में, निर्धारक तर्कसंगत संचालन और संभावित समाधानों के स्मार्ट ट्रैवर्सल को जोड़कर। उत्तरार्द्ध recursively किया जाता है; यहां वह कार्य है ( स्रोत ):

def search(values): "Using depth-first search and propagation, try all possible values." if values is False: return False ## Failed earlier if all( len( values[s]) == 1 for s in squares): return values ## Solved! ## Chose the unfilled square s with the fewest possibilities _,s = min( (len( values[s]), s) for s in squares if len(values[s]) > 1 ) return some( search( assign( values.copy(), s, d)) for d in values[s] ) 

(मैंने अपनी आँखों के लिए कुछ जगहों, सीआरएस और टैब जोड़ दिए हैं, डॉ। नॉरविग के लिए क्षमा चाहते हैं।)

टिप्पणी के ठीक नीचे " _,s " से शुरू होने वाली एक पंक्ति है ऐसा लगता है कि अनपैकड ट्यूपल ( len(values[s]),s के न्यूनतम मूल्य के साथ। क्या डॉ। नॉरविग ने " _ " को एक चर नाम के रूप में प्रयोग करने का संकेत दिया है, इसका परिणाम "परवाह नहीं है" परिणाम है, या कुछ और चल रहा है? क्या ऐसे समय होते हैं जब " _ " को एक चर नाम के रूप में अनुशंसित किया जाता है? इंटरैक्टिव मोड में, " _ " पिछले ऑपरेशन का उत्तर रखता है; क्या गैर-इंटरैक्टिव कोड में समान कार्य है?

अद्यतन करें

अच्छे उत्तर के लिए धन्यवाद मुझे लगता है कि "वैल्यू वर्धित" के लिए एलेक्स मार्टले को उत्तर दिया गया है; वह बताता है कि "_, vbl_of_interest" मुहावरे अक्सर डीएसयू मुहावरों का एक साइड इफेक्ट है, जो खुद को काफी हद तक अनावश्यक बना दिया गया है।

Solutions Collecting From Web of "पायथन में चर नाम के रूप में अंडरस्कोर _"

हां, _ "परवाह नहीं है" के लिए एक परंपरागत नाम है (जो दुर्भाग्य से I18N में इसके उपयोग के साथ संघर्ष करता है, लेकिन यह एक अलग मुद्दा है ;-)। बीटीडब्ल्यू, आज के अजगर में, के बजाय:

 _,s = min( (len( values[s]), s) for s in squares if len(values[s]) > 1 ) 

आपको कोड हो सकता है

 s = min((s for s in squares if len(values[s])>1), key=lambda s: len(values[s])) 

(सुनिश्चित नहीं है कि पायथन पीटर के रिलीज़ के लिए क्या लिखा गया था, लेकिन वह जिस मुहावरे का उपयोग कर रहा है वह "सजाने-तरह से अनचाहे" [[डीएसयू]] का एक उदाहरण है, सिवाय इसके बजाय मिनट के अलावा, और आज के पायथन में key= वैकल्पिक पैरामीटर आमतौर पर DSU करने का सबसे अच्छा तरीका 😉

तुम सही हो। गैर-इंटरैक्टिव मोड में _ कोई विशेष अर्थ नहीं है। दरअसल, नॉरविग केवल यह व्यक्त करना चाहता है कि वह उस चर के मूल्य की परवाह नहीं करता है

Offtopic: Norvig द्वारा उस लेख बहुत अच्छा है एक अनुशंसित पढ़ा।

आपकी व्याख्या सही है इंटरैक्टिव मोड _ में विशेष अर्थ के बाहर का प्रयोग केवल "ध्यान न दें" चर नाम के रूप में किया जाता है, खासकर अनपैकिंग में।