एक अक्सर एसओ पर अजगर प्रश्नों में इस प्रकार के भाव पाता है। या तो बस चलने योग्य के सभी मदों तक पहुँचने के लिए
for i in range(len(a)):
print(a[i])
जो लिखने का एक बोझिल तरीका है:
for e in a:
print(e)
या चलने के तत्वों को निर्दिष्ट करने के लिए:
for i in range(len(a)):
a[i] = a[i] * 2
जो समान होना चाहिए:
for i, e in enumerate(a):
a[i] = e * 2
# Or if it isn't too expensive to create a new iterable
a = [e * 2 for e in a]
या सूचकांकों को छानने के लिए:
for i in range(len(a)):
if i % 2 == 1: continue
print(a[i])
जिसे इस तरह व्यक्त किया जा सकता है:
for e in a [::2]:
print(e)
या जब आपको केवल सूची की लंबाई की आवश्यकता होती है, और इसकी सामग्री की नहीं:
for _ in range(len(a)):
doSomethingUnrelatedToA()
जो हो सकता है:
for _ in a:
doSomethingUnrelatedToA()
अजगर हमारे पास में enumerate
, टुकड़ा करने की क्रिया, filter
, sorted
, आदि ... के रूप में अजगर for
निर्माणों पुनरावृति को iterables से अधिक करना है और न केवल पूर्णांकों का पर्वतमाला, वहाँ वास्तविक दुनिया उपयोग-मामलों में जहां आप की जरूरत है in range(len(a))
?
range(len(a))
है कि आमतौर पर ऐसे लोग हैं जो पाइथन के साथ काफी अनुभवहीन हैं (हालांकि सामान्य रूप से प्रोग्रामिंग के साथ जरूरी नहीं है)।