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()函数用法介绍和示例

文章图片
# 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()函数用法介绍和示例

文章图片
# 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 fori 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()函数用法介绍和示例

文章图片
【Python range()函数用法介绍和示例】在此示例中, 我们打印了一个介于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 functionsfrom 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 functionele = 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: 0Last element: 9Fifth 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课程。

    推荐阅读