
在反转一个范围之前,我们必须了解什么是Python中的range()函数。
Python 的 range()
Python 有一个内置的range()函数,当你需要进行特定次数的操作时,它很方便。range() 函数使我们能够在给定的范围内做出一系列的数字。
根据你传递给range()函数的参数的多少,你可以选择这个数字序列的开始和结束位置,以及一个数字和下一个数字之间的差异有多大。
语法
range(start, stop, step)
参数
- start参数是序列的起始数字,即下限。默认情况下,如果没有指定,则以0开始。
- 一个stop参数是一个上限,即创建到这个数字为止的数字;range()不将这个数字包括在结果中。
- 步长是输出中每个数字之间的差异。如果没有指定,步长的默认值是1。
range()的例子
for i in range(4, 24, 4):
quotient = i / 4
print(f"{i} divided by 4 is {int(quotient)}.")
在这个for循环中,你能够创建一个能被4整除的整数范围,所以你不必自己提供每个整数。
输出
4 divided by 4 is 1.
8 divided by 4 is 2.
12 divided by 4 is 3.
16 divided by 4 is 4.
20 divided by 4 is 5
使用range()函数进行递增
如果你必须要增量,那么你希望一个步骤是一个正数。T在现实生活中更能说明这意味着什么,请看下面的代码。
for i in range(3, 24, 10):
print(f"{i}")
输出
3
13
23
你得到的数字范围是每个数字都比前面的数字大10,这是你提供的步长。
现在你已经看到了如何通过范围内的正数步长向前移动,让我们看看如何使用负数步长向后移动。
Python 范围反转
要在 Python 中反转一个范围,使用 reversed() 函数和 range() 函数。将range()方法包裹在reversed()方法里面,你可以按相反的顺序打印整数。
产生一个递减的范围的最Pythonic方法是使用**range(start, stop, step)。**但是Python为我们提供了一个内置的reversed() 函数。
for i in reversed(range(5)):
print(i)
输出
5
4
3
2
1
0
range()可以很容易地遍历一个递减的数列,而reversed()则是用来以相反的顺序循环遍历数列。
使用手动方式进行 Python 范围反转
要反转一个range(5, 0, -1),你的步骤必须遵循。
- 你的起点必须是你的范围的最大数字。
- 你的停止必须是你的范围中的最小数字-1。
- 你必须减去1(-1)才能得到你的列表的精确反向。
反转一个范围或一个数字序列的结果是,该序列包含了范围内的数字,而且顺序相反。如果你的步长参数是负数,那么你就在一个递减的数字序列中移动,并且是递减。这使我们能够向后翻阅这些数字。
for i in range(5, 0, -1):
print(f"{i}")
输出
5
4
3
2
1
在这个例子中,我们的步骤是-1。这意味着你每次循环都会被递减1。
在上面的代码中,我们需要将1倒退到5,也就是5到1。所以,我们的最大值开始,也就是5,然后最小值-1意味着1-1是0,也就是停止值,我们没有将其纳入范围。然后我们的步骤是-1。这意味着,5,5-1=4,5-2=3,5-3=2,5-4=1。所以,我们得到的是准确的反向值。
现在,这不是标准的方法,但是如果你想逆转任何一种range(),那么你必须精确计算所有的步骤。并非每次都是这样,这将是正确的。让我们看看逆转范围元素的标准方法。
结论
要在 Python 中反转一个范围,请使用 reverse() 方法和 range() 函数。另外,如果你知道数字之间的确切差异,你可以通过提供负数的步长来反转范围。
本教程到此为止。
相关帖子
The postPython range reverse:如何反转一个范围》首次出现在AppDividend上。