zoukankan      html  css  js  c++  java
  • 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])
    三样东西有助于缓解生命的疲劳:希望、睡眠和微笑。---康德
  • 相关阅读:
    树形dp(HDU1520)
    POJ3071(概率DP)
    网络流之FF算法(poj1273&&洛谷P3376)
    二分图匹配之匈牙利算法
    江西财经大学第二届程序设计竞赛——E
    浅谈数位dp
    浅谈数位dp——hdu 不要62
    buns~~~一个简单的背包问题
    POJ 1066 Treasure Hunt (线段相交)
    POJ 2653 Pick-up sticks (线段相交)
  • 原文地址:https://www.cnblogs.com/ronghe/p/8295046.html
Copyright © 2011-2022 走看看