Python教程:Python中的range() 函数
【摘要】 range() 函数是学习Python入门就需要学到的函数,这篇Python教程的文章就给大家介绍一下这个函数的用法。
range() 函数是学习Python入门就需要学到的函数,这篇Python教程的文章就给大家介绍一下这个函数的用法。
如果你确实需要遍历一个数字序列,Python内置函数 range() 会派上用场。它生成算术级数:
>>>
>>> for i in range(5):... print(i) ... 0 1 2 3 4
给定的终止数值并不在要生成的序列里;range(10) 会生成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
要以序列的索引来迭代,您可以将 range() 和 len() 组合如下:
>>>
>>> a = ['Mary', 'had', 'a', 'little', 'lamb'] >>> for i in range(len(a)): ... print(i, a[i]) ... 0 Mary 1 had 2 a 3 little 4 lamb
然而,在大多数这类情况下,使用 enumerate() 函数比较方便,请参见 循环的技巧 。
如果你只打印 range,会出现奇怪的结果:
>>>
>>> print(range(10)) range(0, 10)
range() 所返回的对象在许多方面表现得像一个列表,但实际上却并不是。此对象会在你迭代它时基于所希望的序列返回连续的项,但它没有真正生成列表,这样就能节省空间。
我们说这样的对象是 可迭代的 ,也就是说,适合作为函数和结构体的参数,这些函数和结构体期望在迭代结束之前可以从中获取连续的元素。我们已经看到 for 语句就是这样一个迭代器。函数 list() 是另外一个;它从可迭代对象中创建列表。
>>>
>>> list(range(5)) [0, 1, 2, 3, 4]
后面,我们会看到更多返回可迭代对象的函数,和以可迭代对象作为参数的函数。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)