python从零到独立建设网站,基础知识,你学过range()函数吗?
时间:2023-08-04 04:39:01 | 来源:网站运营
时间:2023-08-04 04:39:01 来源:网站运营
python从零到独立建设网站,基础知识,你学过range()函数吗?:在python中,如果你确实需要遍历一个数字序列,内置函数range()会派上用场。它生成算术级数:
for i in range(10):
print(i)
输出如下:
注意:给定的终止数值并不在要生成的序列里,range(10)会生成10个值,并且是以合法的索引生成一个长度为10的序列。range也可以以另一个数字开头,或者以指定的幅度增加(甚至是负数,有时这也叫做’步进‘)。
range()和len()组合
要以序列的索引来迭代,您可以将range()和len()组合,
我们来举一个小例子:
list = ['apple' ,'pear','banana','orange']
for i in range(len(list)):
print(i,list[i])
输出如下
0 apple
1 pear
2 banana
3 orange
然而在大多这类情况下,使用enumerate()函数比较方便
enumerate()函数
enumerate(iterable,start=0) 返回一个枚举对象,iterable必须是一个序列,或iterator,或其它支持迭代的对象。enumerate()返回的迭代器的__next__()方法返回一个元组,里边包含一个计数值(从start开始,默认为0)和通过迭代iterable获得的值。我们举个例子:
seasons = ['spring','summer','fall','winter']
for i in enumerate(seasons):
print(i)
输出如下:
(0, 'spring')
(1, 'summer')
(2, 'fall')
(3, 'winter')
range()返回数据
range()所返回的对象在许多方面表现的像一个列表,但实际上却并不是。此对象会在你迭代它时基于所希望的序列返回连续的项,但它没有真正的生成列表,这样就能节省空间。我们称这样对象为iterable,也就是说,适合作为这样的目标对象,函数和结构期望中从获取连续的项直到所提供的项全部耗尽。我们已经看到for语句就是这样一种结构,而接受可迭代对象的函数的一个例子是sum()函数。
sum(range(7))
输出如下
21
range()生成列表
利用range()函数生成数字列表,举例如下:
list1 = list(range(10))
print(list1)
输出如下:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]