个性化阅读
专注于IT技术分析

Python range()函数用法介绍和示例

range()是Python的一个内置函数。当用户需要执行某个动作的特定次数时使用。Python(3.x)中的range()只是Python(2.x)中名为xrange的函数的重命名版本。range()函数用于生成一个数字序列。

range()通常用于for循环,因此,在处理任何类型的Python代码时,相同的知识都是关键方面。range()函数在Python中最常见的用法是迭代序列类型(List, string等)。With for和while循环。

Python range()基础:

简单来说,range()允许用户在给定范围内生成一系列数字。根据用户传递给函数的参数数量,用户可以决定这一系列数字的开始和结束位置,以及一个数字和下一个数字之间的差异有多大。range()主要接受三个参数。

  • start:整数, 从该整数开始返回整数序列
  • stop:整数, 在该整数之前要返回整数序列。
    整数范围在停止处结束– 1。
  • step:整数值, 确定序列中每个整数之间的增量
# 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 range()函数用法介绍和示例1
# 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 range()函数用法介绍和示例2
# 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
Python range()函数用法介绍和示例3

在此示例中, 我们打印了一个介于0到10之间的偶数, 因此我们从0(start = 0)中选择起点, 并在10(stop = 10)处停止序列。为了打印偶数, 提供一个步骤后, 一个编号和下一个编号之间的差必须为2(步骤= 2), 我们得到以下输出(0、2、4、8)。

使用正步长按范围递增:

如果用户想要增加,那么用户需要步长是一个正数。例如:

# 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

使用负步长减小范围:

如果用户想递减,那么用户需要步长为负数。例如:

# 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()中使用浮点数:

Python 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

两个range()函数的串联

两个range()函数的结果可以通过itertools模块的chain()方法连接起来。chain()方法用于一个接一个地打印其参数中提到的iterable目标中的所有值。

# 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

用索引值访问range()

数字序列由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()的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 ]

首先, 你的面试准备可通过以下方式增强你的数据结构概念:Python DS课程。


赞(0) 打赏
未经允许不得转载:srcmini » Python range()函数用法介绍和示例
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者

微信扫一扫打赏