آموزش تابع range در پایتون
تابع داخلیِ range() یک دنبالهی تغییرناپذیر از اعداد را برمیگرداند، که به طور معمول از آنها، برای حلقهزدن به تعداد خاصی، استفاده میشود.
این مجموعه(set) از اعداد، یک نوعِ دادهیِ خاص به نام range دارد.
نکته: تغییر ناپذیر بودن دنباله، یعنی اینکه، این دنباله، پس از اینکه ایجاد شد، (اعضای آن) دیگر نتواند تغییر داده شود.
ایجاد دنباله با تابع range()
با استفاده از شیوهی نوشتاری یا سینتکس زیر، میتوانیم تابع range() را با 1 یا 2 یا 3 آرگومان، فراخوانی کنیم:
range(start, stop, step)
فراخوانی تابع range() با یک آرگومان
اگر تابع range تنها با استفاده از یک آرگومان فراخوانی شود، این آرگومان، مقدار stop را مشخص میکند؛ و آرگومان start اختیاری است و اگر ارائه نشود، به طور پیش فرض برابر با 0 خواهد شد. بنابراین دستور range(10) یک دنباله از اعداد از 0 تا 9 است(آرگومان start شامل خود آن نیز میشود اما آرگومان stop شامل خود آن عدد نمیشود).
مثال شماره 1
ایجاد یک محدوده(range) از اعداد از 0 تا 9:
x = range(10)
# x نمایش دادن
print(x)
# x تبدیل به لیست برای نمایش دادن محتوای
print(list(x))
نتیجه:
range(0, 10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
امتحان کنیدفراخوانی تابع range() با دو آرگومان
اگر تابع range با دو آرگومان فراخوانی شود، آرگومان اول، مقدار start را مشخص میکند و آرگومان دوم، مقدار stop را مشخص میکند. دستور range(3, 10) یک دنباله از اعداد از 3 تا 9 را مشخص میکند:
مثال شماره 2
ایجاد یک محدوده از اعداد از 0 تا 9:
x = range(3, 10)
# x نمایش دادن
print(x)
# x تبدیل به لیست برای نمایش دادن محتوای
print(list(x))
نتیجه:
range(3, 10)
[3, 4, 5, 6, 7, 8, 9]
امتحان کنیدفراخوانی تابع range() با سه آرگومان
اگر تابع range با سه آرگومان فراخوانی شود، آرگومان سوم، مقدار گام(step) را مشخص خواهد کرد. مقدار گام، اختلاف بین عددهای درون دنباله را مشخص میکند. این آرگومان اختیاری است و اگر ارائه نشود، مقدار پیش فرض آن 1 است. بنابراین دستور range(3, 10, 2) یک دنباله از 3 تا 9 را برمیگرداند که گام یا قدرِنسبت آن، 2 است:
مثال شماره 3
ایجاد یک محدوده از اعداد از 3 تا 9:
x = range(3, 10, 2)
# x نمایش دادن
print(x)
# x تبدیل به لیست برای نمایش دادن محتوای
print(list(x))
نتیجه:
range(3, 10, 2)
[3, 5, 7, 9]
امتحان کنیداستفاده از تابع range در پایتون
از تابع range() اغلب در حلقهی for، برای حلقه زدن روی یک دنباله از اعداد استفاده میشود:
مثال شماره 4
حلقه زدن روی هر مقدار در درون تابع range():
for x in range(10):
print(x)
نتیجه:
0
1
2
3
4
5
6
7
8
9
امتحان کنیداستفاده از لیست برای نمایش دادن محدودهها(Ranges)
آبجکت range یک نوعِ داده است که یک دنبالهی تغییرناپذیر از اعداد را ارائه میکند و مستقیماً قابل نمایش نیست. به همین خاطر، اغلب rangeها را به لیست تبدیل میکنیم تا بتوانیم اعداد آن را نمایش دهیم.
مثال شماره 5
تبدیل rangeهای مختلف به لیست:
print(list(range(5)))
print(list(range(1, 6)))
print(list(range(5, 20, 3)))
نتیجه:
[0, 1, 2, 3, 4]
[1, 2, 3, 4, 5]
[5, 8, 11, 14, 17]
امتحان کنیدبرش دادن rangeها در پایتون
مانند دیگر دنبالهها، میتوانیم rangeها را برش بزنیم تا یک زیردنباله را از آن استخراج کنیم.
مثال شماره 6
استخراج کردن یک زیردنباله از یک range:
r = range(10)
print(r[2])
print(r[:3])
نتیجه:
2
range(0, 3)
امتحان کنیدنکته: در مثال بالا، اولین دستور print مقداری که در اندیس 2 قرار دارد را برمیگرداند و دومین دستور print، یک آبجکت range جدید را برمیگرداند که از اندیس 0 تا 3 استفاده میکند.
تست عضویت(Membership Testing)
با استفاده از عملگر in میتوانیم برای rangeها تست عضویت انجام دهیم.
مثال شماره 7
تست کردن اینکه آیا اعداد 6 و 7 در یک range وجود دارند؟
r = range(0, 10, 2)
print(list(r))
print(6 in r)
print(7 in r)
نتیجه:
[0, 2, 4, 6, 8]
True
False
امتحان کنیداگر عدد مورد نظر در range وجود داشته باشد، مقدار True برگردانده میشود و اگر وجود نداشته باشد، مقدار False برگردانده میشود.
استفاده از دستور len در range
rangeها از تابع len() پشتیبانی میکنند تا بتوانیم به وسیلهی آن، تعداد عناصر درون آن range را به دست بیاوریم.
نکته: کلمهی len مخفف کلمهی length به معنیِ طول میباشد.
مثال شماره 8
به دست اوردن طولِ(length) یک range:
r = range(0, 10, 2)
print(list(r))
print(len(r))
نتیجه:
[0, 2, 4, 6, 8]
5
امتحان کنید
منبع: www.w3schools.com/python
- بازدید: 37
1. سعی کنید نظرات شما مرتبط با مقاله ی مورد نظر باشد، در غیر این صورت پاسخ داده نخواهد شد.
2. سوالات خود را به صورت کوتاه بیان کنید و از پرسیدن چند سوال به طور همزمان خودداری کنید.
3. سوال خود را به طور واضح بیان کنید و از کلمات مبهم استفاده نکنید.