Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Python中range() 函数的使用介绍(附代码)

Python中range() 函数的使用介绍(附代码)

不言
不言ke hadapan
2019-04-15 10:27:003184semak imbas

本篇文章给大家带来的内容是关于Python中range()函数的使用介绍(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

range()是python的内置函数,用的地方挺多的,目前我经常会在for循环中作为循环的次数来使用,其实range()的用法不仅仅如此,本文给大家介绍下。

如果你确实需要遍历一个数字序列,内置函数 <span class="pre">range()</span> 会派上用场。它生成算术级数:

>>> for i in range(5):
...     print(i)
...
01
2
3
4

给定的终止数值并不在要生成的序列里;<span class="pre">range(10)</span> 会生成10个值,并且是以合法的索引生成一个长度为10的序列。range也可以以另一个数字开头,或者以指定的幅度增加(甚至是负数;有时这也被叫做 '步进')

range(5, 10)
   5, 6, 7, 8, 9

range(0, 10, 3)
   0, 3, 6, 9

range(-10, -100, -30)
  -10, -40, -70

要以序列的索引来迭代,您可以将 <span class="pre">range()</span> 和 <span class="pre">len()</span> 组合如下:

>>> a = [&#39;Mary&#39;, &#39;had&#39;, &#39;a&#39;, &#39;little&#39;, &#39;lamb&#39;]
>>> for i in range(len(a)):
...     print(i, a[i])
...
Mary
had
a
little
lamb

然而,在大多数这类情况下,使用 <span class="pre">enumerate()</span> 函数比较方便,请参见 循环的技巧 。

如果你只打印 range,会出现奇怪的结果:

>>> print(range(10))
range(0, 10)

<span class="pre">range()</span> 所返回的对象在许多方面表现得像一个列表,但实际上却并不是。此对象会在你迭代它时基于所希望的序列返回连续的项,但它没有真正生成列表,这样就能节省空间。

我们说这样的对象是 可迭代的 ,也就是说,适合作为函数和结构体的参数,这些函数和结构体期望在迭代结束之前可以从中获取连续的元素。我们已经看到 <span class="pre">for</span> 语句就是这样一个迭代器。函数 <span class="pre">list()</span> 是另外一个;它从可迭代对象中创建列表。

>>> list(range(5))
[0, 1, 2, 3, 4]

后面,我们会看到更多返回可迭代对象的函数,和以可迭代对象作为参数的函数。(相关推荐:python教程

Atas ialah kandungan terperinci Python中range() 函数的使用介绍(附代码). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:cnblogs.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam