पाइथन का for
लूप सूचियों, टुपल्स और स्ट्रिंग्स जैसी पुनरावृति योग्य वस्तुओं को पार करने का एक सरलीकृत तरीका प्रदान करता है। जबकि मुख्य रूप से तत्व मानों तक पहुँचने के लिए डिज़ाइन किया गया है, अक्सर ऐसी स्थितियाँ उत्पन्न होती हैं जहाँ आपको पुनरावृति के दौरान प्रत्येक तत्व का सूचकांक भी चाहिए होता है। यह लेख इसे प्राप्त करने के कुशल तरीकों का पता लगाता है।
विषयवस्तु की तालिका
enumerate()
फलन का उपयोग करनाenumerate()
के व्यावहारिक अनुप्रयोग- वैकल्पिक (कम कुशल) तरीके
- इष्टतम विधि चुनना
enumerate()
फलन का उपयोग करना
for
लूप के अंदर सूचकांक और मान दोनों तक पहुँचने का सबसे पाइथोनिक और कुशल तरीका अंतर्निहित enumerate()
फलन का उपयोग करना है। यह एक पुनरावृति योग्य वस्तु लेता है और (सूचकांक, मान)
जोड़े उत्पन्न करने वाला एक पुनरावर्तक देता है। सूचकांक डिफ़ॉल्ट रूप से 0 होता है लेकिन इसे start
पैरामीटर के साथ अनुकूलित किया जा सकता है।
enumerate()
के व्यावहारिक अनुप्रयोग
यहाँ बताया गया है कि enumerate()
का प्रभावी ढंग से उपयोग कैसे करें:
my_list = ["apple", "banana", "cherry"]
for index, value in enumerate(my_list):
print(f"सूचकांक: {index}, मान: {value}")
# आउटपुट:
# सूचकांक: 0, मान: apple
# सूचकांक: 1, मान: banana
# सूचकांक: 2, मान: cherry
# कस्टम प्रारंभिक सूचकांक:
for index, value in enumerate(my_list, start=1):
print(f"सूचकांक: {index}, मान: {value}")
# आउटपुट:
# सूचकांक: 1, मान: apple
# सूचकांक: 2, मान: banana
# सूचकांक: 3, मान: cherry
यह विधि स्पष्ट, पठनीय और इस विशिष्ट कार्य के लिए अनुकूलित है।
वैकल्पिक (कम कुशल) तरीके
जबकि enumerate()
को प्राथमिकता दी जाती है, वैकल्पिक तरीके मौजूद हैं, हालांकि वे आम तौर पर कम कुशल और पठनीय होते हैं:
विधि 1: range()
और सूची अनुक्रमण का उपयोग करना:
my_list = ["apple", "banana", "cherry"]
for index in range(len(my_list)):
value = my_list[index]
print(f"सूचकांक: {index}, मान: {value}")
यह दृष्टिकोण कम संक्षिप्त और संभावित रूप से धीमा है, विशेष रूप से बड़ी सूचियों के साथ, स्पष्ट अनुक्रमण के कारण।
विधि 2: while
लूप और काउंटर का उपयोग करना:
my_list = ["apple", "banana", "cherry"]
index = 0
while index < len(my_list):
value = my_list[index]
print(f"सूचकांक: {index}, मान: {value}")
index += 1
यह और भी कम पठनीय और कुशल है। जब तक मैनुअल इंडेक्स प्रबंधन महत्वपूर्ण न हो, इसे सबसे अच्छा टाला जाना चाहिए।
इष्टतम विधि चुनना
पाइथन for
लूप में सूचकांक और मान दोनों तक पहुँचने के लिए, enumerate()
अनुशंसित दृष्टिकोण है। यह पठनीयता और दक्षता का सबसे अच्छा संयोजन प्रदान करता है। केवल तभी विकल्पों पर विचार किया जाना चाहिए जब विशिष्ट कारणों से मैनुअल सूचकांक नियंत्रण आवश्यक हो, जो एक दुर्लभ परिदृश्य है।