range() vs. Xrange() Python

2025年3月17日 | 阅读 3 分钟

在本文中,我们将讨论 range()xrange() 函数是什么,它们在 Python 中如何使用,以及每个函数的重要特性。

Python 中可用的函数可以在程序的多个部分中使用,因为它们可以减小代码的大小并极大地提高代码的可读性。

首先,我们将看看 range 函数是什么,并讨论一些涉及其用法的程序。

同样,然后我们将理解 xrange 函数是什么,并通过一些程序来了解它。

最后,我们将看一下每个函数的特性。

range() 函数-

在下面的示例中,我们将打印从 0 到 6 的前 7 个数字。我们已经在 range 函数中指定了值,并在 end 参数中提供了一个空格,以便它会以空格分隔打印值。

以下程序说明了这一点-

示例 -

输出

range() Vs. Xrange() Python

在第二个示例中,我们将再次执行相同的操作,即打印从 0 到 6 的前 7 个数字。我们已经在 range 函数中为该操作指定了值,并在 end 参数中提供了一个空格,以便它会以空格分隔打印值。

在此之后,我们还将检查它返回的类型。

以下程序说明了这一点-

示例 - 2

输出

range() Vs. Xrange() Python

在下一个示例中,我们定义了一个包含 10 个元素的列表。我们已经指定了值作为列表 'a' 的长度在 range 函数中,并在 end 参数中提供了一个空格,以便它会以空格分隔打印值。

以下程序说明了这一点-

示例 - 3

输出

range() Vs. Xrange() Python

在下一个示例中,我们将以反向顺序打印 0 到 10 范围内的值。我们已经按照 start、stop 和 end 的格式在 range 函数中指定了值。让我们看一看每个的含义-

start- 我们希望开始显示元素的起始值。

stop- 我们希望停止显示元素的停止值。

step- 步长值是指示我们在结果中期望的序列类型的那个值。默认情况下,步长值为 0。

以下程序说明了这一点-

示例 - 4

输出

range() Vs. Xrange() Python

在下一个示例中,我们将打印从 21 到 31 的数字,但这次使用 Python 的 reversed 方法。我们已经在 range 函数中为该操作指定了值,并在 end 参数中提供了一个空格,以便它会以空格分隔打印值。

以下程序说明了这一点-

示例 - 4

输出

range() Vs. Xrange() Python

Xrange() 函数

xrange() 函数具有相同的功能并返回一个生成器对象,但它是在 Python 3 之前的版本中使用的。

xrange 的语法与 range() 相同,这意味着在 xrange 中我们也必须指定 start、stop 和 step

如果您使用的是 Python 3 并执行使用 xrange 的程序,则会生成错误,因为从这个版本开始,使用了 range()

让我们看看在 Python 中运行以下程序会发生什么-

示例 -

输出

range() Vs. Xrange() Python

Range() 和 Xrange() 的比较

在这里,我们将根据内存消耗、返回类型、速度和操作来比较两者-

参数Range()Xrange()
1. 内存消耗由于 range() 返回一个元素列表,它占用更多内存。与 range() 相比,它占用的内存更少。
2. 返回类型它返回一个整数列表。它返回一个生成器对象。
3. 速度它的执行速度较慢。它的执行速度较快。
4. 操作由于它返回一个列表,因此可以执行各种算术运算。xrange() 不能执行此类操作。