पायथन 3 में, यह जांचने का सबसे छोटा तरीका क्या है कि एक स्ट्रिंग के सभी पात्रों के लिए भविष्य सत्य है या नहीं?स्ट्रिंग के सभी वर्णों के लिए सही
उत्तर
all(predicate(x) for x in string)
all(map(predicate, string))
कार्यात्मक रूप @ अबे के जवाब लेकिन नक्शे के साथ बजाय (python3 में भी आलसी)
इस दृष्टिकोण का एक नुकसान यह है कि यदि 'predicate (x) '' x [0]' जैसा कुछ है, तो इस मामले में मानचित्र का उपयोग करने के लिए या तो लैम्ब्डा या ऑपरेटर मॉड्यूल की आवश्यकता होती है। –
सहमत हैं, जब आप भविष्यवाणी नहीं करते हैं तो आपके पास इसका नुकसान होता है (8 अक्षर जोड़ना), लेकिन मानचित्र के आलसी समानांतर कार्यान्वयन के साथ मानचित्र को बदलने का लाभ है (या किसी अन्य कार्यान्वयन) यदि उदाहरण के लिए अनुमान कम्प्यूटेशनल रूप से भारी है। – SlimJim
ही ... और क्योंकि एक) इसे का उपयोग है, यह न केवल कम से कम लेकिन सबसे कुशल एक है एक जनरेटर और बी) 'सभी() 'शॉर्ट-सर्किट, इसलिए पुनरावृत्ति पहले' झूठी 'भविष्यवाणी पर बंद हो जाती है। –