Python范围反转。如何反转一个范围

609 阅读4分钟

How to reverse a range in Python

在反转一个范围之前,我们必须了解什么是Python中的range()函数。

Python 的 range()

Python 有一个内置的range()函数,当你需要进行特定次数的操作时,它很方便。range() 函数使我们能够在给定的范围内做出一系列的数字。

根据你传递给range()函数的参数的多少,你可以选择这个数字序列的开始和结束位置,以及一个数字和下一个数字之间的差异有多大。

语法

range(start, stop, step)

参数

  1. start参数是序列的起始数字,即下限。默认情况下,如果没有指定,则以0开始。
  2. 一个stop参数是一个上限,即创建到这个数字为止的数字;range()不将这个数字包括在结果中。
  3. 步长是输出中每个数字之间的差异。如果没有指定,步长的默认值是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. 你的起点必须是你的范围的最大数字。
  2. 你的停止必须是你的范围中的最小数字-1。
  3. 你必须减去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() 函数。另外,如果你知道数字之间的确切差异,你可以通过提供负数的步长来反转范围。

本教程到此为止。

相关帖子

Python的范围包括

np.arange()

The postPython range reverse:如何反转一个范围》首次出现在AppDividend上。