python2中的range返回的是一个列表
python3中的range返回的是一个迭代值
for i in range(1,10)在python2和python3中都可以使用,但是要生成1-10的列表,就需要用list(range(1,10))
在Python核心编程中要输出abcde的子序列,如果用(python3)
- s = 'abcde'
- i = -1
- for i in [None] + range(-1, -len(s), -1):
- print(s[:i])
会报错
需要改成
- s = 'abcde'
- i = -1
- for i in [None] + list(range(-1, -len(s), -1)):
- print(s[:i])
输出为
- abcde
- abcd
- abc
- ab