में पाश सी/C++ के लिए, मैं निम्नलिखित पाश for(int k = 1; k <= c ; k +=2)
अजगर
अजगर में ऐसा ही करते कैसे करते हो सकती है?
मैं पाइथन में यह for k in range(1,c):
कर सकता हूं, जो सी/सी ++ में for(int k = 1; k <= c ; k++)
के समान होगा।
में पाश सी/C++ के लिए, मैं निम्नलिखित पाश for(int k = 1; k <= c ; k +=2)
अजगर
अजगर में ऐसा ही करते कैसे करते हो सकती है?
मैं पाइथन में यह for k in range(1,c):
कर सकता हूं, जो सी/सी ++ में for(int k = 1; k <= c ; k++)
के समान होगा।
तुम भी पता होना चाहिए कि अजगर में, पूर्णांक सूचकांक से अधिक पुनरावृत्ति बुरा शैली, और भी विकल्प की तुलना में धीमी है। यदि आप सूची या निर्देश में प्रत्येक आइटम को देखना चाहते हैं, तो सीधे सूची या निर्देश के माध्यम से लूप करें।
mylist = [1,2,3]
for item in mylist:
print item
mydict = {1:'one', 2:'two', 3:'three'}
for key in mydict:
print key, mydict[key]
यह वास्तव में सीमा() के साथ ऊपर कोड का उपयोग की तुलना में तेजी है, और बाहरी i
चर निकाल देता है।
आप में जगह एक सूची के आइटम संपादित करने की जरूरत है, तो आप कर सूचकांक की जरूरत है, लेकिन अभी भी एक बेहतर तरीका है:
for i, item in enumerate(mylist):
mylist[i] = item**2
फिर, यह दोनों तेजी से और माना अधिक पठनीय है । सी ++ से पायथन तक आने पर आपको यह सोचने में मुख्य बदलावों में से एक है।
इस उपयोग करके देखें:
for k in range(1,c+1,2):
आप अजगर में एक पाश जो कुछ पूर्णांक कोई आदि है, तो बस कॉपी और इस कोड के लिए खोपड़ी प्रिंट लिखने के लिए चाहते हैं, यह काम करेंगे बहुत
#Display Value from 1 TO 3
for i in range(1,4):
print "",i,"value of loop"
# Loop for dictionary data type
mydata = {"Fahim":"Pakistan", "Vedon":"China", "Bill":"USA" }
for user, country in mydata.iteritems():
print user, "belongs to " ,country
जवाब अच्छा है, लेकिन लोगों को कि चाहते हैं के लिए range()
के साथ इस, ऐसा करने के लिए रूप है:
range(end)
:
>>> list(range(10))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
range(start,end)
:
>>> list(range(1, 11))
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
range(start,end, step)
:
>>> list(range(0, 30, 5))
[0, 5, 10, 15, 20, 25]
अजगर में आप आम तौर पर C/C++ की तरह छोरों के लिए बजाय सामान्य के लूप में के लिए है, लेकिन आप निम्न कोड के साथ एक ही बात को प्राप्त कर सकते।
for k in range(1, c+1, 2):
do something with k
संदर्भ Loop in Python.
एक तरफ ध्यान दें के रूप में यदि आप अजगर 2.x xrange उपयोग कर रहे हैं और अधिक कुशल है। – GWW
@GWW: xrange तकनीकी रूप से अधिक _memory_ कुशल है, लेकिन यह शायद ही कभी किसी भी व्यावहारिक परिणाम का है जब तक कि आपकी सीमा बहुत बड़ी न हो, और 3.x पूरी तरह से 'xrange' नाम से दूर हो जाता है, इसलिए इसका उपयोग करके किसी भी चीज़ से नए लोगों को भ्रमित करने की अधिक संभावना है अन्य। –
@ निकोलस: मैं बस इसका जिक्र कर रहा हूं, मैं वास्तव में भ्रमित करने की कोशिश नहीं कर रहा हूं। मैंने कठोर तरीके से xrange के बारे में सीखा जब मेरे पास मेरे कोड में भारी बोतल गर्दन पैदा हुई थी। मैं नहीं चाहता कि कोई और उस पर फंस जाए: पी – GWW