s='abcde'
for i in [None]+range(-1,-len(s),-1):
print(s[:i])
代码如上。
我用的是python3.2.2,这段代码在python2.4中应该是可以用的,我知道python3.x改了不少东西,当range()这个函数具体怎么改的还真是不太清楚,但从这个程序上看,在python3.2.2中似乎range()不生成一个列表!
(1)python3.x中range()已经不生成一个list啦。
(2)python3.x中去掉了xrange()
(3)如果按你说的用pop(),那么list就变了。
好像原来range()是直接可以生成列表的,现在range()实质返回的是什么呢?
追答>>> x = range(0,1)
x
试一试不就知道了。其实也可以这样:
s = 'abcde'
for i in range(len(s),-1,-1):
print(s[:i])
就是试过
>>>x=range(0,1)
x
后我得出结论,在python3.x中range()不再返回列表了,