यह काफी पुराना प्रश्न है, लेकिन मैं इस उत्तर की पेशकश करता हूं क्योंकि पिछले उत्तर सूची में उन वस्तुओं के साथ सामना नहीं करते हैं जो तार नहीं हैं (या किसी प्रकार की चलने वाली वस्तु)। इस तरह की वस्तुएं पूरी सूची के अपवाद के साथ विफल होने का कारण बनती हैं।
गैर-पुन: उपयोग योग्य आइटमों को छोड़ कर सूची में ऐसी वस्तुओं के साथ शान से व्यवहार करने के लिए, निम्नलिखित का उपयोग करें:
[el for el in lst if isinstance(el, collections.Iterable) and (st in el)]
फिर, ऐसी सूची के साथ:
lst = [None, 'abc-123', 'def-456', 'ghi-789', 'abc-456', 123]
st = 'abc'
आप अभी भी मिलान आइटम प्राप्त करेंगे (['abc-123', 'abc-456']
)
पुनरावृत्ति के लिए परीक्षण सबसे अच्छा नहीं हो सकता है। इसे यहाँ से प्राप्त करें: पायथन में, मैं यह कैसे निर्धारित करूँ कि कोई वस्तु चलने योग्य है?