python中range函数中参数的问题

发布网友

我来回答

2个回答

热心网友

根据输出结果来看,需要的功能是如此。

range函数本身对参数要求没有特殊的要求,第一个是起始值start(缺省是0,可以不填),第二是截至值end,第三个是step(缺省是1,可以不填)。具体参数取值是:[start, end),每次增加一个step。


如果你不想用负值,可以这样写:

for i in range(len(s)):
    print s[:len(s) - i]

热心网友

for i in range(-1,-len(s),-1): # -1至-(5-1),后面的-1表示反向取,那么就是(-1,-2,-3,-4)
循环内:
print s(:-1) #从0取到最后一位,但不包含最后一位,abcd
print s(:-2) #从0取到倒数第二位,但不包含倒数第二位,abc
....追问就是range里面的最后一个参数-1为什么不是1呢?-1跟1有什么区别啊?

追答最后一个参数-1表示步长,表示每一次都减一
range(-1,-4,-1)
[-1, -2, -3]

你这个简单一点可以写成这样
[s[:-x] for x in range(1,len(s))]

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com