Python之路【第八篇】:enumerate、range与xrange

enumerate

为可迭代的对象添加序号,自动生成一列,默认从0开始自增1,也可以从别的数开始自增1,如:
li = ['电脑','鼠标垫','U盘','游艇']
for x,y in enumerate(li):
  print(x,y)
inp = input("请输入商品:")
print(li[int(inp)])
-------------------------------------
int(inp)为强制类型转换
enumerate(li,10),从10开始自增1

xrange

在2.7中,xrange用来指定范围,生成数字,例如xrange(0,100),但是内存里不创建这些数字,只有通过for循环迭代时才会创建,第一次循环创建0,第二次循环创建1,这样大大节约了空间,提高了性能

range

在2.7中,range用来获取指定范围内的数,如range(0,100),但是在内存里会把这些数字全部创建出来
在3中,只有range,没有xrange,但是这里的range等同于2.7中的xrange
temp=range(0,10)
print(temp)
在2.7版本中,输出结果为[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
在3版本中,输出结果为日range(0,10)
range或者xrange的默认步长是1,可以设置步长,如range(1,100,2),当然也可以从大到小生成,如range(10,1,-1)
利用range()输出列表的索引:
li = ['alex','eric']
for i in range(0,len(li)):
  print(i,li[i])
三样东西有助于缓解生命的疲劳:希望、睡眠和微笑。---康德
原文地址:https://www.cnblogs.com/ronghe/p/8295046.html