zoukankan      html  css  js  c++  java
  • list和range()函数中使用反向索引的方法

    列表中使用切片时(list[star : stop : step]),可以正向也可以反向切片,当步调为正数时,则是正向索引,此时要求 star > stop 

    1 list = [1, 2, 3, 4, 5, 6, 7]
    2 list[0:5:1]

    此时切片的结果就是[1, 2, 3, 4, 5]

    如果是star < stop或者, star > stop但step < 0,则返回空list

    1 In [49]: list[0:5:-1]
    2 Out[49]: []
    3 
    4 In [50]: list[5:0:1]
    5 Out[50]: []

    因此list的正向切片一定要注意star & stop & step这三个值的取法

    list的反向切片方法:此时step必须要为负数,且star > stop,任何一点不满足,返回空列表

    1 list[5:0:-1]
    2 Out[51]: [6, 5, 4, 3, 2]

    从下标为5开始输出到下标为1

    range()函数的取值方法也是同上方法:

    1 for i in range(6, 0, -1):
    2     print (i)

    返回结果是:

    6
    5
    4
    3
    2
    1

    1 for i in range(6, 0, 1):
    2     print (i)

    返回结果是空,什么都没有。

    正向同理,正常使用即可。

    PS:无论list还是range(),它们的step参数都不能为0,0会报错

  • 相关阅读:
    P1071 潜伏者
    P2199 最后的迷宫
    推荐
    T150191 求和
    T150189 养猪
    P1106 删数问题
    NOIP 2018 提高组初赛试题胡谈
    结题报告
    博客迁移公告
    简单实用算法——用队列实现栈
  • 原文地址:https://www.cnblogs.com/c-road/p/8698708.html
Copyright © 2011-2022 走看看