當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python range()用法及代碼示例


range()是Python的內置函數。當用戶需要執行特定次數的操作時使用它。range()在Python(3.x)中隻是一個名為的函數的重命名版本xrange 在Python(2.x)中。 range()函數用於生成數字序列。

range()因此,在處理任何類型的Python代碼時,同等知識是關鍵方麵。最常見的用途range()Python中的函數是使用for和while循環迭代序列類型(列表,字符串等。)。

蟒蛇range()基本:
簡單來說,range()允許用戶在給定範圍內生成一係列數字。根據用戶傳遞給該函數的參數數量,用戶可以決定該係列數字將在何處開始和結束以及一個數字與下一個數字之間的差值有多大。range()主要接受三個論點。


  • 開始:integer,將從其返回整數序列
  • 停:整數,在該整數之前要返回整數序列。
    整數範圍在停止處結束-1。
  • 步:整數值,確定序列中每個整數之間的增量
# Python Program to  
# show range() basics 
  
# printing a number 
for i in range(10):
    print(i, end =" ") 
print() 
  
# using range for iteration 
l = [10, 20, 30, 40] 
for i in range(len(l)):
    print(l[i], end =" ") 
print() 
  
# performing sum of natural 
# number 
sum = 0
for i in range(1, 11):
    sum = sum + i 
print("Sum of first 10 natural number:", sum)

輸出:

0 1 2 3 4 5 6 7 8 9 
10 20 30 40 
Sum of first 10 natural number:55

您可以通過三種方式致電range():

  • range(stop)有一個論點。
  • range(start, stop)有兩個參數。
  • range(start, stop, step)需要三個參數。

range(stop)

用戶來電時range()使用一個參數,用戶將獲得一係列從0開始的數字,包括從(直到但不包括)用戶提供的停止號的每個整數。例如 -

# Python program to 
# print whole number 
# using range() 
  
# printing first 10  
# whole number 
for i in range(10):
    print(i, end =" ") 
print() 
  
# printing first 20 
# whole number 
for i in range(20):
    print(i, end = " ")

輸出:

0 1 2 3 4 5 6 7 8 9 
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 

range(start, stop)

當用戶使用兩個參數調用range()時,用戶不僅可以決定一係列數字的停止位置,還可以決定數字的開始位置,因此用戶不必始終從0開始。用戶可以使用range()使用範圍(X,Y)生成從X到Y的一係列數字。例如-參數

# Python program to  
# print natural number 
# using range 
  
# printing a natural 
# number upto 20 
for i in range(1, 20):
    print(i, end =" ") 
print() 
  
# printing a natural 
# number from 5 t0 20 
for i in range(5, 20):
    print(i, end =" ")

輸出:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 

range(start, stop, step)

用戶來電時range()使用三個參數,用戶不僅可以選擇一係列數字的起始和終止位置,還可以選擇一個數字與下一個數字之間的差值。如果用戶不提供步驟,則range()將自動執行,就好像步驟是1。

# Python program to  
# print all number  
# divisible by 3 and 5 
   
# using range to print number 
# divisible by 3 
for i in range(0, 30, 3):
    print(i, end = " ") 
print() 
  
# using range to print number 
# divisible by 5 
for  i in range(0, 50, 5):
     print(i, end = " ") 
      

輸出:

0 3 6 9 12 15 18 21 24 27 
0 5 10 15 20 25 30 35 40 45 


在此示例中,我們打印了一個介於0到10之間的偶數,因此我們從0(start = 0)中選擇起點,並在10(stop = 10)處停止序列。為了打印偶數,提供一個步驟後,一個編號和下一個編號之間的差必須為2(步驟= 2),我們得到以下輸出(0、2、4、8)。

使用正步長以範圍遞增:
如果用戶想增加,那麽用戶需要step為正數。例如:

# Python program to 
# increment with 
# range() 
  
# incremented by 2 
for i in range(2, 25, 2):
    print(i, end =" ") 
print() 
  
# incremented by 4 
for i in range(0, 30, 4):
    print(i, end =" ") 
print() 
  
# incremented by 3 
for i in range(15, 25, 3):
    print(i, end =" ")

輸出:


2 4 6 8 10 12 14 16 18 20 22 24 
0 4 8 12 16 20 24 28 
15 18 21 24 

使用負步長減小範圍:
如果用戶要遞減,則需要step為負數。例如:

# Python program to 
# decrement with 
# range() 
  
# incremented by -2 
for i in range(25, 2, -2):
    print(i, end =" ") 
print() 
  
# incremented by -4 
for i in range(30, 1, -4):
    print(i, end =" ") 
print() 
  
# incremented by -3 
for i in range(25, -6, -3):
    print(i, end =" ")

輸出:

25 23 21 19 17 15 13 11 9 7 5 3 
30 26 22 18 14 10 6 2 
25 22 19 16 13 10 7 4 1 -2 -5 

在Python range()中使用浮點數:
蟒蛇range()函數不支持浮點數。即用戶不能在其任何參數中使用浮點數或非整數。用戶隻能使用整數,例如

# Python program to 
# show using float 
# number in range() 
  
# using a float number 
for i in range(3.3):
    print(i) 
  
# using a float number 
for i in range(5.5):
    print(i)

輸出:

for i in range(3.3):
TypeError:'float' object cannot be interpreted as an integer

Concatenation of two range() functions

來自兩個的結果range()可以使用chain()的方法itertools模塊。的chain()方法用於在其參數中一個接一個地打印可迭代目標中的所有值。

# Python program to concatenate 
# the result of two range functions 
  
  
from itertools import chain 
  
  
# Using chain method 
print("Concatenating the result") 
res = chain(range(5), range(10, 20, 2)) 
  
for i in res:
    print(i, end=" ")

輸出:

Concatenating the result
0 1 2 3 4 10 12 14 16 18 

Accessing range() with index value

數字序列由range()作為其對象,可以通過其索引值進行訪問。正索引和負索引均受其對象支持。

# Python program to demonstrate 
# range function 
  
  
ele = range(10)[0] 
print("First element:", ele) 
  
ele = range(10)[-1] 
print("\nLast element:", ele) 
  
ele = range(10)[4] 
print("\nFifth element:", ele)

輸出:

First element:0

Last element:9

Fifth element:4

關於Python的注意事項range()函數:

  • range()函數僅適用於整數,即整數。
  • 所有參數必須為整數。用戶不能在range()的start,stop和step參數中傳遞字符串,浮點數或任何其他類型。
  • 這三個參數都可以是正數或負數。
  • 步長值不能為零。如果步驟為零,則python會引發ValueError異常。
  • range()是Python中的類型
  • # Python program to 
    # show range() type 
      
    # checking a type of  
    # range 
    type(range(3))
  • 用戶可以訪問range()按索引,就像用戶使用列表一樣:
  • # Python program to 
    # access items in a range 
      
    # accessing a items 
    range(3)[1] 
      
    # accessing a items 
    range(3)[2]


相關用法


注:本文由純淨天空篩選整理自ABHISHEK TIWARI 13大神的英文原創作品 Python range() function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。