本文转自https://www.freeaihub.com/article/range-function-in-python.html,实例均在在线交互学习
在本文中,我们将range()
在不同的示例的帮助下学习如何使用Python的函数。内置函数range()
生成给定起始整数和终止整数之间的整数,即,它返回范围对象。使用for
循环,我们可以迭代该range()
函数产生的数字序列。range()
通过一个简单的示例,让我们了解如何使用Python 3 的功能。
print("Python range() example")
print("Get numbers from range 0 to 6")
for i in range(6):
print(i, end=‘, ‘)
注意:由于range()
函数不包含结果中的最后一个(停止)数字,因此我们获得了0到5之间的整数 。
range(start, stop[, step])
它需要三个参数。这三个参数中的三个是可选的。即,start和step是可选参数。
range()
中不包括该数字。现在让我们看看所有可能的情况。以下是range()函数的三个变体。
# Print first 5 numbers using range function
for i in range(5):
print(i, end=‘, ‘)
只有stop参数传递给range()
。因此,默认情况下,它需要start = 0
和step = 1
。
示例二–使用两个参数(即开始和停止)
# Print integers within given start and stop number using range()
for i in range(5, 10):
print(i, end=‘, ‘)
注意:默认情况下,它的步进值为1。
示例三 –使用所有三个参数
# using start, stop, and step arguments in range()
print("Printing All even numbers between 2 and 10 using range()")
for i in range(2, 10, 2):
print(i, end=‘, ‘)
所有三个参数,即指定start = 2
, stop = 10
, step = 2
。步长值为2,因此每个数字之间的差为2。
在Python中使用range()
函数生成从9到100可以被3整除的数字范围。
解决方案:
for i in range(9, 100, 3):
print(i)
range()
仅适用于整数。所有参数必须是整数。您不能在的start,stop和step参数中使用浮点数或任何其他类型range()
。如您所知,for循环重复执行代码或语句块固定次数。使用for循环,我们可以遍历该range()
函数产生的数字序列。让我们看看如何使用for循环和range()
函数打印1到10之间的奇数。使用此示例,我们可以了解在一起i
使用range()
和for循环时如何获得其价值。
for i in range(1, 10, 2):
print("Current value of i is:", i)
在for i in range()
i中,是迭代器变量。要了解for i in range()
Python的含义,首先,我们需要了解range()
函数的工作原理。该range()
函数使用生成器生成一个范围内的数字,即,它不会一次生成所有数字。仅在for循环迭代要求时才生成下一个值。在每次循环迭代中,Python都会生成下一个值,并将其分配给iterator变量i
。
程序执行
i
没有同时获得值1、3、5、7、9。i
的值start
。即,的第一个值i
是范围的起始编号。在这里,范围从1开始。i
顺序递增。的值i
由公式确定i = i + step
。即,在第二次迭代中,i
变为3,依此类推。如您所知,在for循环的每次迭代中,都会range()
生成下一个数字并将其分配给iterator变量i
。即,我们按需获取数字(range()
在循环移至下一个迭代时,逐个生成数字)。因此,此行为range()
更快并且节省了内存。
使用Python range()
和for循环打印以下数字模式。
1个
2 2
3 3 3
解析方案
for num in range(4):
for i in range(num):
print(num, end=" ")
print() # new line after each row to show pattern correctly
在本节中,我们将学习如何生成一个包含范围。该 range(n)
是独家性质的,这就是为什么它不包括在输出中的最后一个数字。即,给定的端点永远不会成为生成结果的一部分。例如,range(0, 5) = [0, 1, 2, 3, 4]
。结果包含从0到最多5的数字,但不包括5,总计数为5。range(start, stop)
输出中不包括停止号,因为在Python中索引(i)始终以0开头。
如果要在输出中包括最后一个数字,即,如果要包含一个包含范围,则将stop
参数值设置为stop+step
。
包含range()示例。
# Printing inclusive range
start = 1
stop = 5
step = 1
stop +=step #now stop is 6
for i in range(start, stop, step):
print(i, end=‘, ‘)
例子2
# Printing inclusive range
start = 2
stop = 10
step = 2
stop +=step #now stop is 12
for i in range(start, stop, step):
print(i, end=‘, ‘)
步骤是的可选参数range()
。步骤是结果序列中每个数字之间的差。如果步长为2,则每个数字之间的差为2。如果未指定,则步长的默认大小为1。我们可以通过有效地使用步骤参数来执行很多操作,例如反转序列,打印负范围。
使用负步减range()
我们可以在range()
函数的所有参数(即开始,停止和步进)中使用负值。
start = -2
stop = -10
step = -2
print("Negative number range")
for number in range(start, stop, step):
print(number, end=‘, ‘)
我们先来了解上面的程序,我们设置,start = -2
,stop = -10
,step = -2
。
-2
-2, -4
因为 -2+(-2) = -
4,依此类推。-2, -4, -6,-8
从负数到正数的范围递减
在此示例中,我们将学习如何使用step参数显示从负到正的数字范围。负数范围。
# printing range from negative to positive
for num in range(-2, 5, 1):
print(num, end=", ")
Python范围从正数到负数
在此示例中,我们可以学习如何有效地使用step参数来显示从正到负的数字。
print (" printing range from Positive to Negative")
for num in range(2,-5,-1):
print(num, end=", ")
如果执行print( type( range(10) ) )
,将得到``输出。Python range()
函数不返回列表类型。它返回一个范围对象,即类型为range的序列对象。因此,我们得到一个不可变的整数序列对象。
我们可以将a的输出转换range()
为Python列表。使用list
class将范围输出转换为list。让我们用下面的例子来理解这一点。
print("Converting python range() to list")
even_list = list( range(2, 10, 2))
print("printing list", even_list)
我们还可以使用range()
函数通过其索引号访问Python列表项。
print("Use of range() to access Python list using index number")
sample_list = [10, 20, 30, 40, 50]
for i in range(len(sample_list)):
print("List item at index ", i, "is ", sample_list[i])
注意:使用len(list)
,我们可以获得列表项的计数,我们使用此计数range()
来循环迭代固定的次数。
如果要在Python中按降序或逆序打印范围内的数字序列,则可以使用两种方法。
第一种是使用负值或向下步进值。即,将a的step
参数设置range()
为-1
。例如,如果要显示一个像[5,4,3,2,1,0]这样的数字序列,即我们想要带range()
功能的for循环的反向迭代或反向迭代。
让我们看看如何使用 Python中的索引向后循环以显示从5到0的数字范围。
输出:
以相反的顺序显示数字范围
5、4、3、2、1、0
使用reversed
函数在Python中反转范围
另外,使用reversed()
函数,我们可以反转任何序列。如果我们将reversed()
函数与一起使用range()
,则将返回range_iterator
,以相反的顺序访问给定范围的数字。下面的示例将使您知道如何在Python中进行反向for循环。
print("Printing reverse range using reversed()")
for i in reversed(range(0, 5)):
print(i)
检查输出类型是否range()
与reversed()
print("Checking the type")
print(type(range(0, 5)))
print(type(reversed(range(0,5))))
另外,如果您需要列表,则需要将reversed()
函数的输出转换为list。因此,您可以获得范围的反向列表。
使用反向打印列表range()
。
print("Printing list in reverse order with range")
reverseed_list = list(reversed(range(0, 5)))
print(reverseed_list)
print("Second example to reverse list with range")
reverse_list2 = list(range(5, -1, -1))
print(reverse_list2)
print("Third Example to reverse list with range")
reverse_list3 = list(range(2, 20, 2)[::-1])
print(reverse_list3)
本文翻译自:https://pynative.com/python-range-function/
原文:https://www.cnblogs.com/freeaihub/p/13112171.html