यह मानते हुए कि मेरे पास बड़ी संख्या में वस्तुओं के साथ एक सूची है।
l = [ 1, 4, 6, 30, 2, ... ]
मैं उस सूची से आइटम की संख्या प्राप्त करना चाहता हूं, जहां एक आइटम को कुछ शर्त को पूरा करना चाहिए। मेरा पहला विचार था:
count = len([i for i in l if my_condition(l)])
लेकिन अगर my_condition () फ़िल्टर की गई सूची में भी बड़ी संख्या में आइटम हैं, तो मुझे लगता है कि फ़िल्टर किए गए परिणाम के लिए नई सूची बनाना सिर्फ स्मृति की बर्बादी है। दक्षता के लिए, IMHO, उपरोक्त कॉल इससे बेहतर नहीं हो सकती:
count = 0
for i in l:
if my_condition(l):
count += 1
क्या अस्थायी सूची तैयार किए बिना कुछ शर्त को पूरा करने वाली वस्तुओं को # प्राप्त करने के लिए कोई कार्यात्मक शैली है?
अग्रिम में धन्यवाद।