एक अक्सर एसओ पर अजगर प्रश्नों में इस प्रकार के भाव पाता है। या तो बस चलने योग्य के सभी मदों तक पहुँचने के लिए
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))है कि आमतौर पर ऐसे लोग हैं जो पाइथन के साथ काफी अनुभवहीन हैं (हालांकि सामान्य रूप से प्रोग्रामिंग के साथ जरूरी नहीं है)।