मेरे पास तारों की एक सूची है और फ़िल्टर की एक सूची है (जो स्ट्रिंग्स भी हैं, जिन्हें नियमित अभिव्यक्ति के रूप में व्याख्या किया जा सकता है)। मैं अपनी स्ट्रिंग सूची में सभी तत्वों की एक सूची चाहता हूं जो कम से कम एक फ़िल्टर द्वारा स्वीकार किए जाते हैं। आदर्श रूप में, मैंपाइथन में लिस्प के "कुछ"?
[s for s in strings if some (lambda f: re.match (f, s), filters)]
जहां कुछ
के रूप में परिभाषित किया गया है लिखते हैंdef some (pred, list):
for x in list:
res = pred (x)
if res:
return res
return False
अजगर में पहले से ही उपलब्ध ऐसा ही कुछ है, या वहाँ यह करने के लिए एक और अधिक मुहावरेदार तरीका है?
के अपने आकलन पाइथन का लैम्बडास सत्य है, जबकि अंश 0.9 है। –
इस पर एक अच्छा परिप्रेक्ष्य है "एक फिल्म के ट्रेलर को देखना पसंद है। रोमांचक, लेकिन असली चीज़ नहीं है।" http://rapd.wordpress.com/2007/05/09/lambda-in-python/ - हालांकि एक लिस्पर परिप्रेक्ष्य से, मैं स्वच्छ कोड के लिए अपना उत्साह साझा नहीं करता, मुझे कार्यक्षमता देता हूं। –