आप पायथन सूची में किसी आइटम को कैसे ढूंढते हैं? यह एक सवाल है जिसका सामना सभी पायथन कोडर्स किसी न किसी बिंदु पर करते हैं। सौभाग्य से, भाषा कई तरीके प्रदान करती है जिनसे आप किसी सूची में आइटम ढूंढ सकते हैं, जैसे in ऑपरेटर या लीनियर सर्च का उपयोग करना।
इस गाइड में, हम सूची में आइटम ढूंढने के चार तरीकों के बारे में बात करते हैं। हम इनमें से प्रत्येक मेथड का एक उदाहरण देखते हैं ताकि आप सीख सकें कि वे कैसे काम करते हैं।
"in" का उपयोग करके पायथन में सूची में खोजें
पायथन में in नामक एक विशेष ऑपरेटर है। यह ऑपरेटर जांचता है कि कोई मान सूची में है या नहीं। इस ऑपरेटर को कभी-कभी "मेंबरशिप ऑपरेटर" कहा जाता है क्योंकि यह जांचता है कि कोई मान सूची का सदस्य है या नहीं।
इस उदाहरण में, हम एक जूता स्टोर चलाते हैं और हम जांचना चाहते हैं कि कोई विशेष जूता स्टॉक में है या नहीं। ऐसा करने का एक तरीका in ऑपरेटर का उपयोग करना है।
जूतों की एक सूची को परिभाषित करके शुरू करें:
shoes = ["Adidas ZX Flux", "Adidas Ultraboost", "Adidas Gazelle", "Adidas Runfalcon"]
अगला, हम उपयोगकर्ता से ढूंढने के लिए एक जूता डालने के लिए कहते हैं:
to_find = input("What shoe are you looking for? ")
हम जूते का नाम एकत्र करने के लिए input() स्टेटमेंट का उपयोग करते हैं। अगला, हम एक "if" स्टेटमेंट का उपयोग करके जांचते हैं कि उपयोगकर्ता द्वारा दर्ज किया गया जूता हमारी जूतों की सूची में है या नहीं:
if to_find in shoes:
print("{} shoes are in stock.".format(to_find))
else:
print("{} shoes are not in stock.".format(to_find))
यदि उपयोगकर्ता द्वारा दर्ज किया गया जूता हमारी सूची में पाया जा सकता है तो हमारा if स्टेटमेंट निष्पादित होगा। अन्यथा, else स्टेटमेंट चलेगा। हमारे कोड को आज़माएं:
What shoe are you looking for? Adidas Runfalcon Adidas Runfalcon shoes are in stock.
हमारा कोड सफलतापूर्वक पहचानता है कि "Adidas Runfalcon" जूते स्टॉक में हैं। यह हमारे if स्टेटमेंट को निष्पादित करने का कारण बनता है।
लीनियर सर्च का उपयोग करके पायथन में सूची में खोजें
लीनियर सर्च एक सरल खोज एल्गोरिदम है जो सूची में एक आइटम ढूंढता है। लीनियर सर्च सूची के एक छोर से शुरू होता है और सूची में हर तत्व के साथ एक मान की तुलना करता है। यदि वह मान सूची में है, तो लीनियर सर्च आइटम की स्थिति लौटाता है।
हमारे लीनियर सर्च को करने वाला एक फ़ंक्शन लिखकर शुरू करें:
def linear_search(array, to_find):
for i in range(0, len(array)):
if array[i] == to_find:
return i
return -1
हमारा कोड "array" सूची में प्रत्येक आइटम के माध्यम से इटरेट करने के लिए "for" लूप का उपयोग करता है। यदि वह आइटम मिल जाता है, तो उस आइटम की इंडेक्स स्थिति मेन प्रोग्राम को वापस कर दी जाती है। यदि पूरी सूची खोजे जाने के बाद आइटम नहीं मिलता है, तो मेन प्रोग्राम को -1 वापस कर दिया जाता है।
आइए अपने मेन प्रोग्राम पर जाएं और अपना फ़ंक्शन कॉल करें:
shoes = ["Adidas ZX Flux", "Adidas Ultraboost", "Adidas Gazelle", "Adidas Runfalcon"]
to_find = input("What shoe are you looking for? ")
found = linear_search(shoes, to_find)
यह कोड उपयोगकर्ता से वह जूता पूछता है जिसे वे ढूंढ रहे हैं। फिर, हमारा कोड linear_search फ़ंक्शन को कॉल करता है ताकि पता लगाया जा सके कि वह जूता सूची में मौजूद है या नहीं।
अंत में, हम उपयोगकर्ता को सूचित करने के लिए if स्टेटमेंट का उपयोग करते हैं कि जूता मिला है या नहीं:
if found != -1:
print("{} shoes are in stock.".format(to_find))
else:
print("{} shoes are not in stock.".format(to_find))
यदि हमारा linear_search फ़ंक्शन -1 लौटाता है, तो इसका मतलब है कि कोई आइटम सूची में नहीं मिला है। हमारा if स्टेटमेंट चलेगा यदि linear_search फ़ंक्शन द्वारा लौटाया गया मान -1 के बराबर नहीं है। यदि मान -1 के बराबर है, तो else स्टेटमेंट चलेगा।
हमारा कोड आज़माएं:
What shoe are you looking for? Adidas Samba Adidas Samba shoes are not in stock.
हमारा कोड हमारी सूची में Adidas Samba जूते नहीं ढूंढ पाता।
index() का उपयोग करके पायथन में सूची में खोजें
index() बिल्ट-इन फ़ंक्शन आपको सूची में आइटम की इंडेक्स स्थिति ढूंढने देता है। index() का उपयोग करके सूची में जूते का स्थान ढूंढने वाला एक प्रोग्राम लिखें।
शुरू करने के लिए, जूतों की एक सूची परिभाषित करें। हम उपयोगकर्ता से एक जूता डालने के लिए कहते हैं जिसके लिए हमारा प्रोग्राम हमारी जूतों की सूची में खोज करेगा:
shoes = ["Adidas ZX Flux", "Adidas Ultraboost", "Adidas Gazelle", "Adidas Runfalcon"]
to_find = input("What shoe are you looking for? ")
अगला, हम उस जूते की सूची इंडेक्स स्थिति लौटाने के लिए index() मेथड का उपयोग करते हैं:
try:
found = shoes.index(to_find)
print("{} shoes are in stock. They are at index position {} in the list of shoes.".format(to_find, found))
except:
print("{} shoes are not in stock.".format(to_find))
index() मेथड ValueError लौटाता है यदि कोई आइटम सूची में नहीं मिलता है। इसलिए हम इसे "try...except" ब्लॉक के हिस्से के रूप में उपयोग करते हैं।
यदि कोई जूता नहीं मिलता है, तो ValueError उठाया जाता है। इस बिंदु पर, "except" ब्लॉक चलेगा। यदि कोई जूता मिल जाता है, तो "try" ब्लॉक सफलतापूर्वक निष्पादित होगा।
हमारा कोड चलाएं:
What shoe are you looking for? Adidas Gazelle Adidas Gazelle shoes are in stock. They are at index position 2 in the list of shoes.
हमारा कोड सफलतापूर्वक पहचानता है कि Adidas Gazelle जूते स्टॉक में हैं। हमारा प्रोग्राम हमें वह स्थिति भी बताता है जिस पर वे जूते हमारी सूची में संग्रहीत हैं।
लिस्ट कॉम्प्रिहेंशन का उपयोग करके पायथन में सूची में खोजें
आप लिस्ट कॉम्प्रिहेंशन का उपयोग करके एक सूची में उन कई आइटम्स को ढूंढते हैं जो एक निश्चित शर्त को पूरा करते हैं।
हमारे पास जूतों की एक सूची है और हम केवल उन्हीं को लौटाना चाहते हैं जो Adidas ब्रांडेड हैं। हम इसे लिस्ट कॉम्प्रिहेंशन का उपयोग करके कर सकते हैं। जूतों की एक सूची को परिभाषित करके शुरू करें:
shoes = ["Nike PG 4", "Adidas Ultraboost", "Adidas Gazelle", "Nike Air Max Verona"]
अगला, हम एक लिस्ट कॉम्प्रिहेंशन लिखते हैं जो उन सभी जूतों को पुनः प्राप्त करता है जिनमें "Nike" शब्द है। लिस्ट कॉम्प्रिहेंशन for लूप के समान सिंटैक्स का उपयोग करते हैं:
nike_shoes = [shoe for shoe in shoes if "Nike" in shoe] print(nike_shoes)
सूची अभिव्यक्ति "shoe" सूची में प्रत्येक जूते के माध्यम से इटरेट करती है। अभिव्यक्ति जांचती है कि क्या Nike शब्द प्रत्येक जूते के नाम में है। यदि है, तो वह जूता "nike_shoes" सूची में जोड़ा जाता है। अन्यथा, कुछ नहीं होता।
आइए अपना कोड चलाते हैं:
['Nike PG 4', 'Nike Air Max Verona']
हमारा कोड Nike जूतों की एक सूची लौटाता है।
निष्कर्ष
ऐसे कई तरीके हैं जिनसे आप सूची में आइटम ढूंढ सकते हैं। सबसे लोकप्रिय तरीकों में शामिल हैं:
inमेंबरशिप ऑपरेटर का उपयोग करना- लीनियर सर्च का उपयोग करना
index()मेथड का उपयोग करना- लिस्ट कॉम्प्रिहेंशन का उपयोग करना
अब आप एक विशेषज्ञ कोडर की तरह पायथन सूची में आइटम खोजने के लिए तैयार हैं!