क्या किसी विशिष्ट स्थान से शुरू करने के लिए फॉर लूप को बताना संभव है?
>>> languages = ["C", "C++", "Perl", "Python"]
>>> for x in languages:
... print(x)
...
C
C++
Perl
Python
>>>
मैं "पर्ल" से शुरू करने के लिए स्क्रिप्ट कैसे प्राप्त कर सकता हूं? मुझे इसे वापस लूप करने की आवश्यकता नहीं है।
6 जवाब
languages = ["C", "C++", "Perl", "Python"]
# add start index range by the index of "Perl"
for x in languages[languages.index("Perl"):]:
print(x)
# Perl
# Python
for x in languages[languages.index("C++"):]:
print(x)
# C+=
# Perl
# Python
सूचियों को उनके सूचकांकों द्वारा myList[start:stop:skip]
का उपयोग करके काटा जा सकता है। तीसरे सूचकांक (शून्य-अनुक्रमण) से शुरू होकर, कोई रोक नहीं, और सूचकांकों का कोई लंघन नहीं होगा:
for x in languages[2::]:
print x
आपको देगा:
Perl
Python
यह भी देखें: पायथन के स्लाइस नोटेशन की व्याख्या करें
आप इसके लिए itertools.dropwhile
का उपयोग कर सकते हैं:
>>> import itertools
>>> languages = ["C", "C++", "Perl", "Python"]
>>> for language in itertools.dropwhile(lambda x: x != 'Perl', languages):
... print(language)
...
Perl
Python
>>>
itertools.dropwhile
दो तर्क लेता है, एक फ़ंक्शन जो यह निर्धारित करता है कि सूची तत्व आपके वांछित प्रारंभिक मूल्य के बराबर है, और चलने योग्य - आपके मामले में एक सूची - जिसे आप लूप करना चाहते हैं। dropwhile
तत्वों को तब तक छोड़ देगा जब तक कि उसे कोई ऐसा नहीं मिल जाता है जो फ़ंक्शन को संतुष्ट करता है, फिर यह सभी तत्वों को तब तक आउटपुट करेगा जब तक कि चलने योग्य समाप्त न हो जाए।
यह तब उपयोगी होता है जब प्रारंभ बिंदु के चयन के लिए आपके मानदंड साधारण समानता की तुलना में अधिक जटिल हों। उदाहरण के लिए, यदि आप "पी" से शुरू होने वाले पहले तत्व से शुरू करना चाहते हैं तो आप यह कर सकते हैं:
>>> for language in itertools.dropwhile(lambda x: not x.startswith('P'), languages):
... print(language)
...
Perl
Python
>>>
इसका उल्टा itertools.takewhile
है, जो तब तक पुनरावृति करेगा जब तक प्रदान किया गया फ़ंक्शन संतुष्ट है।
इसे इस्तेमाल करे। मुझे आशा है कि यह आपकी मदद करेगा
languages = ["C", "C++", "Perl", "Python"]
for k in range(0,len(languages)):
print(languages[k-2])
और आउटपुट है:
Perl
Python
C
C++
पायथन में लूप फ़ंक्शन के लिए है (x में k के लिए (प्रारंभ, रोकें, चरण))। यहाँ x आपकी सूची या स्ट्रिंग चर है और
start : Indicates where the for loop should start and the index starts from zero.
stop : Indicates where the for loop ends. It takes up to (n-1) elements.
उदाहरण के लिए :
for k in range(0,100):
यह शून्य से 99 तक आउटपुट देता है और यदि आप 100 का आउटपुट चाहते हैं। यू को इस तरह उल्लेख करना चाहिए:
n = 100
for k in range(n+1):
print k
आउटपुट 0 से 100 तक है। इस मामले में लूप शून्य से इंडेक्स (शुरू) लेगा।
step : Indicates how many steps should do in for loop. By default step is one in for loop.
उदाहरण के लिए:
for k in range(0,10,1):
print k
#output is 0,1,2,3,4,5,6,7,8,9
for k in range(0,10,2):
print k
#output is 0,2,4,6,8
for k in range(0,10,3):
print k
#output is 0,3,6,9
तुम कोशिश कर सकते हो :
languages = ["C", "C++", "Perl", "Python"]
for i in range(languages.index("Perl"),len(languages)):
# 1st parameter of range will find Perl's index from list languages
#2nd parameter - Length of list
print languages[i]
Perl
Python
यदि आप तत्वों को पर्ल की शुरुआत से सूची के अंत तक चाहते हैं
languages = ["C", "C++", "Perl", "Python"]
print languages
लिस्ट स्लाइसिंग द्वारा यह बहुत आसान है
print languages[2:]
आउटपुट:
['Perl', 'Python']
आप इस सूची को लूप कर सकते हैं और तत्वों को अलग लाइन पर प्राप्त कर सकते हैं।
और यहां तक कि अगर आप लूपबैक तत्वों को पर्ल से बैक-टू-पर्ल में प्राप्त करना चाहते हैं तो भी आप सूची स्लाइसिंग का उपयोग कर सकते हैं
a = []
a.extend(languages[2:])
a.extend(languages[:2])
print a
आउटपुट:
['Perl', 'Python', 'C', 'C++']
संबंधित सवाल
जुड़े हुए प्रश्न
नए सवाल
python
पायथन एक बहु-प्रतिमान है, गतिशील रूप से टाइप किया हुआ, बहुउद्देशीय प्रोग्रामिंग भाषा है। यह एक साफ और एक समान वाक्यविन्यास सीखने, समझने और उपयोग करने के लिए त्वरित होने के लिए डिज़ाइन किया गया है। कृपया ध्यान दें कि अजगर 2 आधिकारिक तौर पर 01-01-2020 के समर्थन से बाहर है। फिर भी, संस्करण-विशिष्ट पायथन सवालों के लिए, [अजगर -२.०] या [अजगर -३.x] टैग जोड़ें। पायथन वेरिएंट (जैसे, ज्योथन, PyPy) या लाइब्रेरी (उदा।, पांडस और न्यूमपी) का उपयोग करते समय, कृपया इसे टैग में शामिल करें।