Python range() Vs. Xrange()
在这篇文章中,我们将讨论什么是 range() 和 xrange() 函数,它们在Python中的使用方式以及每个函数的重要特性。
Python中可用的函数可以在我们程序的多个部分中使用,因为它们减少了代码的量并且增加了代码的可读性。
首先,我们将看看range函数是什么,并讨论一些涉及其使用的程序。
类似地,然后我们将了解xrange函数是什么,并通过一些程序来了解它的用法。
最后,我们将查看每个函数的特性。
range() 函数-
在下面的示例中,我们将打印从0到6的前7个数字。我们在range函数中指定了相同的值,并在末尾参数中提供了一个空格,这样它就会带有空格打印这些值。
以下程序演示了同样的内容-
示例
for i in range(7):
print(i, end=" ")
输出:
在第二个示例中,我们将再次进行相同的操作,即打印从0到6开始的前7个数字。我们在范围函数中指定了相同的值,并在末尾参数中提供了一个空格,以便它打印带有空格的值。
在此之后,我们还将检查它返回的类型是什么。
下面的程序说明了相同的内容-
示例2
for i in range(7):
print(i,end=" ")
print(type(range(7)))
输出:
在下一个示例中,我们定义了一个包含10个元素的列表。我们在range函数的值参数中指定了列表’a’的长度,并在结尾参数中提供了一个空格,以便打印出带有空格的值。
以下程序演示了相同的功能-
示例3
a=[1,2,3,4,5,6,7,8,9,10]
for i in range(len(a)):
print(a[i],end=" ")
输出:
在下一个示例中,我们将以逆序打印位于0到10范围内的值。我们在range函数中以开始、停止和结束的格式指定了值。让我们分别看看每一个-
开始- 我们想开始显示元素的值。
停止- 我们想停止显示元素的值。
步长- 步长值指示我们期望结果中的序列类型。默认情况下,步长的值为0。
以下程序说明了相同的内容-
示例4
for i in range(10,-1,-1):
print(i)
输出:
在下一个示例中,我们将使用Python的reversed方法打印从21到31的数字。我们在range函数中指定了相同的值,并在末尾参数中提供了一个空格,以便打印带有空格的值。
以下程序说明了相同的内容-
示例4
for i in reversed(range(21,31)):
print(i,end=" ")
输出:
Xrange()函数
xrange()函数具有相同的目的,并返回一个生成器对象,但它是在Python 3之前的版本中使用的。 Python 3。
xrange的语法与 range() 相同,这意味着在xrange中我们也必须指定 start,stop和step。
如果您使用的是Python 3并执行使用xrange的程序,则会生成错误,因为从这个版本开始使用 range() 。
让我们看看在Python中运行以下程序时会发生什么-
示例
for i in range(1,10,2):
print(i)
for j in xrange(10,20,2):
print(j)
输出:
Range()和Xrange()之间的比较
在这里,我们将根据内存消耗、返回类型、速度和操作进行比较-
参数 | Range() | Xrange() |
---|---|---|
1. 内存消耗 | 由于range()返回一个元素列表,它占用更多的内存。 | 与range()相比,它占用更少的内存。 |
2. 返回类型 | 返回一个整数列表。 | 返回一个生成器对象。 |
3. 速度 | 执行速度较慢。 | 执行速度较快。 |
4. 操作 | 由于它返回一个列表,可以进行各种算术操作。 | 这样的操作不能在xrange()上执行。 |