首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

python从零到独立建设网站,基础知识,你学过range函数吗?

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]

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200428A0HVD200?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券