python2和python3的range的区别

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
a

posted @ 2022-02-19 22:00  小丑_jk  阅读(112)  评论(0编辑  收藏  举报