当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。