Python range() फ़ंक्शन: फ़्लोट, सूची, फ़ॉर लूप उदाहरण
⚡ स्मार्ट सारांश
Python range() एक अंतर्निर्मित फ़ंक्शन है जो एक प्रारंभिक मान से लेकर एक अंतिम मान तक (लेकिन अंतिम मान को शामिल किए बिना) पूर्णांकों का एक अपरिवर्तनीय अनुक्रम उत्पन्न करता है, जिसमें वृद्धि को नियंत्रित करने के लिए एक वैकल्पिक चरण का उपयोग किया जाता है।

एचएमबी क्या है? Python श्रेणी?
Python range() एक अंतर्निहित फ़ंक्शन है जो उपलब्ध है Python से Python (3.x), और यह दिए गए स्टार्ट और स्टॉप इंडेक्स के आधार पर संख्याओं का एक क्रम देता है। यदि स्टार्ट इंडेक्स नहीं दिया गया है, तो इंडेक्स को 0 माना जाता है, और यह स्टॉप इंडेक्स तक 1 से मूल्य बढ़ाएगा।
उदाहरण के लिए, range(5) 0, 1, 2, 3, 4 मान आउटपुट करेगा। Python range() एक बहुत ही उपयोगी कमांड है और इसका उपयोग अधिकतर तब किया जाता है जब आपको किसी पैरामीटर का उपयोग करके पुनरावृति करनी होती है। पाश के लिए.
वाक्य - विन्यास
range() फ़ंक्शन का सिंटैक्स नीचे दिखाया गया है:
range(start, stop, step)
पैरामीटर्स
- शुरू: (वैकल्पिक) प्रारंभिक सूचकांक एक पूर्णांक है, और यदि नहीं दिया गया है, तो डिफ़ॉल्ट मान 0 है।
- रुकें: स्टॉप इंडेक्स वह मान निर्धारित करता है जिस पर रेंज फ़ंक्शन को रुकना होता है। यह रेंज फ़ंक्शन के लिए एक अनिवार्य इनपुट है। अंतिम मान हमेशा स्टॉप मान से 1 कम होगा।
- कदम: (वैकल्पिक) स्टेप वैल्यू वह संख्या है जिससे रेंज में अगली संख्या को बढ़ाया जाना है; डिफ़ॉल्ट रूप से, यह 1 है।
प्रतिलाभ की मात्रा
वापसी मान दिए गए प्रारंभ से अंत सूचकांक तक संख्याओं का अनुक्रम है।
Python range() फ़ंक्शन और इतिहास
Python range() को शुरू किया गया है Python संस्करण 3; इससे पहले, xrange() फ़ंक्शन था।
range() और xrange() दोनों का उपयोग संख्याओं का एक क्रम उत्पन्न करने के लिए किया जाता है।
range() और xrange() के बीच निम्नलिखित अंतर हैं:
| रेंज () | एक्सरेंज () |
|---|---|
| range() संख्याओं का अनुक्रम देता है और संख्याओं की सूची लौटाता है। | xrange() फ़ंक्शन एक जेनरेटर ऑब्जेक्ट देता है जिसे मान प्राप्त करने के लिए for-लूप में लूप करना पड़ता है। |
| range() एक सूची लौटाता है. | xrange() एक जनरेटर ऑब्जेक्ट लौटाता है. |
| xrange() की तुलना में range() विधि अधिक मेमोरी का उपयोग करती है, क्योंकि लौटाई गई सूची को संग्रहित करना पड़ता है। | चूंकि xrange() एक जनरेटर ऑब्जेक्ट लौटाता है, इसलिए यह तुरंत मान नहीं देता है और मान प्राप्त करने के लिए इसे एक फॉर-लूप के अंदर उपयोग करना पड़ता है। |
| मेमोरी का उपयोग अधिक होता है, इसलिए डेटा के विशाल सेट पर काम करते समय कोड का निष्पादन धीमा होता है। | xrange() का उपयोग करके कोड निष्पादन तेज़ होता है। |
रेंज() का उपयोग करना
यह उदाहरण दिखाता है कि range() का उपयोग करके 0-9 तक के मान कैसे प्रिंट करें।
रेंज में प्रयुक्त मान 10 है, इसलिए आउटपुट 0 1 2 3 4 5 6 7 8 9 है।
चूंकि प्रारंभ मान नहीं दिया गया है, इसलिए प्रारंभ मान को 0 माना जाता है और अंतिम मान 9 तक दिया जाता है। अंतिम मान हमेशा दिए गए मान से 1 कम होता है, यानी स्टॉप-1।
for i in range(10): print(i, end =" ")
आउटपुट:
0 1 2 3 4 5 6 7 8 9
रेंज में स्टार्ट और स्टॉप का उपयोग करना()
कोड में, प्रारंभ मान 3 है और समापन मान 10 है। यहाँ प्रारंभ सूचकांक 3 है, इसलिए संख्याओं का क्रम 3 से शुरू होकर समापन मान तक जाएगा। क्रम का अंतिम मान समापन मान से 1 कम होगा, यानी 10-1 = 9।
for i in range(3, 10): print(i, end =" ")
आउटपुट:
3 4 5 6 7 8 9
स्टार्ट, स्टॉप और स्टेप का उपयोग करना
प्रारंभ मान 3 है, इसलिए संख्याओं का क्रम 3 से शुरू होगा। समापन मान 10 है, इसलिए संख्याओं का क्रम (10-1) यानी 9 पर समाप्त होगा। चरण 2 है, इसलिए क्रम में प्रत्येक मान में 2 की वृद्धि होगी। यदि चरण का मान नहीं दिया गया है, तो चरण का मान डिफ़ॉल्ट रूप से 1 होगा।
for i in range(3, 10, 2): print(i, end =" ")
आउटपुट:
3 5 7 9
अब तक हमने देखा कि range() फ़ंक्शन दिए गए स्टॉप वैल्यू के लिए इंक्रीमेंटेड वैल्यू कैसे देता है। आइए अब दिए गए रेंज में डिक्रीमेंटेड वैल्यू प्राप्त करने का एक उदाहरण देखें।
धनात्मक चरण का उपयोग करके सीमा में मानों को बढ़ाना
range() फ़ंक्शन में step पैरामीटर का उपयोग मानों को बढ़ाने या घटाने के लिए किया जा सकता है। डिफ़ॉल्ट रूप से, यह एक धनात्मक मान, 1 होता है। इसलिए यह हमेशा बढ़ते हुए मान देगा।
यदि आप आउटपुट के रूप में बढ़ते हुए मान चाहते हैं तो स्टेप का मान धनात्मक होना चाहिए।
for i in range(1, 30, 5): print(i, end =" ")
आउटपुट:
1 6 11 16 21 26
Reverse रेंज: ऋणात्मक चरण का उपयोग करके मानों को घटाना
range() फ़ंक्शन में ऋणात्मक मान के साथ step पैरामीटर का उपयोग करके घटते हुए मान प्राप्त किए जा सकते हैं। नीचे दिए गए उदाहरण में, step का मान ऋणात्मक है, इसलिए आउटपुट दिए गए range मान से घटता हुआ होगा।
for i in range(15, 5, -1): print(i, end =" ")
आउटपुट:
15 14 13 12 11 10 9 8 7 6
प्रारंभिक मान 15 है, अंतिम मान 5 है, और चरण मान एक ऋणात्मक संख्या है, यानी -1। उपरोक्त इनपुट के साथ, range() फ़ंक्शन मान को 15 से घटाते हुए अंतिम मान तक पहुंचाएगा, लेकिन अंतर यह है कि अंतिम मान अंतिम मान + 1 होगा।
फ्लोटिंग संख्याओं का उपयोग Python रेंज ()
आइए अब फ्लोटिंग-पॉइंट संख्याओं का उपयोग करके range() पर काम करें।
उदाहरण:
for i in range(10.5): print(i, end =" ")
उपरोक्त उदाहरण में, हमने स्टॉप वैल्यू को 10.5 के रूप में उपयोग किया है।
आउटपुट है:
Traceback (most recent call last): File "python_range.py", line 1, in <module> for i in range(10.5): TypeError: 'float' object cannot be interpreted as an integer
Python यह त्रुटि उत्पन्न करता है क्योंकि range() फ़ंक्शन स्टार्ट, स्टॉप और स्टेप के लिए फ़्लोटिंग-पॉइंट संख्याओं का समर्थन नहीं करता है।
फॉर-लूप का उपयोग करना Python रेंज ()
इस उदाहरण में, हम संख्याओं की एक सरणी का उपयोग करेंगे और देखेंगे कि range() का उपयोग करके for-लूप के अंदर सरणी को कैसे दोहराया जाता है।
उदाहरण:
arr_list = ['Mysql', 'Mongodb', 'PostgreSQL', 'Firebase'] for i in range(len(arr_list)): print(arr_list[i], end =" ")
आउटपुट:
MysqlMongodb PostgreSQL Firebase
ऊपर दिए गए उदाहरण में, हमने len(arr_list) को स्टॉप वैल्यू के रूप में इस्तेमाल किया है। फॉर लूप स्टॉप वैल्यू तक चलेगा, यानी ऐरे की लंबाई तक, जो कि 4 होगी, क्योंकि arr_list में चार आइटम हैं। स्टार्ट वैल्यू 0 होगी और स्टेप 1 होगा, इसलिए वैल्यू 0 से शुरू होकर 3 पर रुकेंगी, यानी ऐरे की लंबाई -1, यानी 4 - 1 = 3।
का प्रयोग Python range() को सूची के रूप में
इस उदाहरण में हम देखेंगे कि रेंज से आउटपुट को सूची के रूप में कैसे उपयोग किया जाए।
उदाहरण:
print(list(range(10)))
आउटपुट:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
आप देख सकते हैं कि आउटपुट एक सूची प्रारूप है। इसमें range() को लूप करना आवश्यक नहीं था और list() विधि का उपयोग करके हम आउटपुट को सीधे range से सूची प्रारूप में बदल सकते थे।
पायथन रेंज() में वर्णों का उपयोग करना
अब तक, हमने पायथन रेंज() में पूर्णांकों का उपयोग किया है। हमने यह भी देखा है कि पायथन रेंज में फ़्लोटिंग-पॉइंट संख्याएँ समर्थित नहीं हैं। आइए हम यह देखने का प्रयास करें कि जब हम वर्णों का उपयोग करते हैं तो क्या होता है।
उदाहरण:
for c in range ('z'):
print(c, end =" ")
आउटपुट:
Traceback (most recent call last):
File "python_range.py", line 1, in <module>
for c in range ('z'):
TypeError: 'str' object cannot be interpreted as an integer
यह एक त्रुटि उत्पन्न करता है जिसमें कहा जाता है कि स्ट्रिंग को पूर्णांक के रूप में नहीं समझा जा सकता।
अक्षरों की सूची प्राप्त करने के लिए आप कोड को अनुकूलित कर सकते हैं और नीचे दिखाए अनुसार वांछित आउटपुट प्राप्त कर सकते हैं:
उदाहरण:
def get_alphabets(startletter, stopletter, step):
for c in range(ord(startletter.lower()), ord(stopletter.lower()), step):
yield chr(c)
print(list(get_alphabets("a", "h", 1)))
आउटपुट:
['a', 'b', 'c', 'd', 'e', 'f', 'g']
रेंज तत्वों तक कैसे पहुँचें
आप रेंज से मान प्राप्त करने के लिए फॉर-लूप का उपयोग कर सकते हैं या रेंज() से तत्वों तक पहुंचने के लिए इंडेक्स का उपयोग कर सकते हैं।
फॉर-लूप का उपयोग करना
उदाहरण:
for i in range(6):
print(i)
आउटपुट:
0 1 2 3 4 5
सूचकांक का उपयोग करना
उस स्थिति पर उपलब्ध मान प्राप्त करने के लिए इंडेक्स का उपयोग रेंज के साथ किया जाता है। यदि रेंज मान 5 है, तो आरंभिक मान प्राप्त करने के लिए, आप रेंज(5)[0] और अगला मान रेंज(5)[1] इत्यादि का उपयोग कर सकते हैं।
उदाहरण:
startvalue = range(5)[0]
print("The first element in range is = ", startvalue)
secondvalue = range(5)[1]
print("The second element in range is = ", secondvalue)
lastvalue = range(5)[-1]
print("The first element in range is = ", lastvalue)
आउटपुट:
The first element in range is = 0 The second element in range is = 1 The first element in range is = 4
सूची() का उपयोग करना
यह विधि range() से सभी तत्वों को प्रिंट करेगी। list() का उपयोग करके यह range() से तत्वों को सूची प्रारूप में लौटाएगा।
उदाहरण:
print(list(range(10)))
आउटपुट:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
यह दी गई रेंज के लिए सूची आउटपुट देता है।
उदाहरण: range() का उपयोग करके सम संख्याएँ प्राप्त करें
range() फ़ंक्शन का उपयोग करने पर इनपुट के रूप में दी गई सीमा में सम संख्याओं की सूची प्राप्त होगी। range() के पैरामीटर हैं: start 2, stop 20 और step 2, इसलिए मान 2 से बढ़ते जाएंगे और stop-2 तक सम संख्याएँ प्राप्त होंगी।
उदाहरण:
for i in range(2, 20, 2): print(i, end =" ")
आउटपुट:
2 4 6 8 10 12 14 16 18
दो-रेंज() आउटपुट को मर्ज करना
इस उदाहरण में, हम itertools मॉड्यूल के chain() फ़ंक्शन की मदद से 2 range() फ़ंक्शन को जोड़ेंगे।
उदाहरण:
from itertools import chain print("Merging two range into one") frange =chain(range(10), range(10, 20, 1)) for i in frange: print(i, end=" ")
आउटपुट:
Merging two range into one 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
NumPy के साथ range() का उपयोग करना
NumPy मॉड्यूल में arange() फ़ंक्शन है जो range() की तरह ही काम करता है और समान आउटपुट देता है। arange() फ़ंक्शन भी range() की तरह ही पैरामीटर लेता है।
सिंटेक्स:
arange(start, stop, step)
NumPy के साथ काम करने के लिए, नीचे दिए गए चरणों का पालन करें।
चरण 1: NumPy मॉड्यूल आयात करें
import numpy
यदि निष्पादन के दौरान, numpy मॉड्यूल नहीं मिलने की त्रुटि आती है, तो आपको चरण 2 में दिखाए अनुसार मॉड्यूल को स्थापित करने की आवश्यकता है।
चरण 2: NumPy इंस्टॉल करें
pip install numpy
चरण 3: NumPy का उपयोग करके arange() का कार्यशील उदाहरण
import numpy as np for i in np.arange(10): print(i, end =" ")
आउटपुट:
0 1 2 3 4 5 6 7 8 9
NumPy arange() का उपयोग करके फ़्लोटिंग पॉइंट संख्याएँ
range() का उपयोग करके फ्लोटिंग-पॉइंट अनुक्रम प्राप्त करना संभव नहीं है, लेकिन NumPy arange() का उपयोग करके यह संभव है।
उदाहरण:
हमें 0.5 से 1.5 तक की रेंज चाहिए। मान में 0.2 की वृद्धि की जाएगी।
import numpy as np for i in np.arange(0.5, 1.5, 0.2): print(i, end =" ")
आउटपुट:
0.5 0.7 0.8999999999999999 1.0999999999999999 1.2999999999999998
हमें जो आउटपुट मिलता है वह थोड़ा अजीब है; कुछ फ्लोट संख्याएँ 16 दशमलव स्थानों के साथ दिखाई देती हैं। ऐसा बाइनरी फॉर्मेट में दशमलव फ्लोट संख्याओं को स्टोर करने की जटिलता के कारण होता है। आप चाहें तो मानों को राउंड ऑफ करके उन्हें आवश्यक दशमलव स्थानों तक सीमित कर सकते हैं।
