← Back to Python Course | Chapter 3: Control Flow | Lesson 9 of 10

Python में range()

range() आपके लिए numbers की एक counting sequence बनाता है, जैसे कोई coach one, two, three गिनता है। आप बताते हैं कि कहाँ से शुरू करना है, कहाँ रुकना है और हर step कितना बड़ा हो।
Syntax
python
range(stop)
range(start, stop)
range(start, stop, step)

एक Argument के साथ range()

range(stop) 0 से शुरू होकर stop तक (लेकिन stop को शामिल किए बिना) numbers की एक sequence produce करता है -- तो range(5) 0, 1, 2, 3, 4 देता है, यानी exactly पाँच values।

यह single-argument form किसी code के block को एक fixed संख्या में दोहराने का सबसे common तरीका है।

उदाहरण: range() with One Argument

python
print(list(range(5)))

Start और Stop के साथ range()

range(start, stop) 0 की बजाय start से गिनना शुरू करता है, जो तब उपयोगी है जब आपकी sequence को किसी खास number से शुरू होना हो, जैसे 1 से IDs generate करना या किसी दिए गए index से आगे loop करना।

उदाहरण: range() with Start and Stop

python
print(list(range(2, 6)))

एक Step के साथ range()

range() का तीसरा argument values के बीच का increment तय करता है, तो range(0, 10, 2) सिर्फ़ even numbers देता है, और एक negative step जैसे range(10, 0, -1) नीचे की तरफ़ गिनता है -- पीछे की ओर गिनने पर भी stop value कभी शामिल नहीं होती।

उदाहरण: range() with a Step

python
print(list(range(0, 10, 2)))
print(list(range(10, 0, -1)))

range() Lazy है

किसी list के विपरीत, range() असल में हर number को एक साथ memory में store नहीं करता -- यह एक lazy sequence है जो हर value को सिर्फ़ ज़रूरत पड़ने पर compute करता है, यही वजह है कि range(1000000000) तुरंत बन जाता है और लगभग कोई memory इस्तेमाल नहीं करता, बजाय एक अरब-element वाली list allocate करने के।

उदाहरण: range() Is Lazy

python
r = range(1000000000)
print(type(r))

List Comprehensions में range()

range() को अक्सर एक list comprehension के साथ जोड़कर एक ही line में transformed sequence बनाई जाती है, जैसे किसी range के हर number को square करना, जो append() calls के साथ explicit for loop लिखने से ज़्यादा concise है।

उदाहरण: range() in List Comprehensions

python
squares = [x * x for x in range(5)]
print(squares)
Related Topics
{# common_mistakes/chapter_summary/browser_support: on Hindi pages the view already swaps in the hi_ translation fields (or blanks these out if untranslated), so this renders correctly for both languages without a lang_code check here. #}

Login to run this code

C/C++/Java/PHP execution requires a free account. Your code is saved — you'll land right back in the editor after logging in.