python2和python3中的range区别

时间:2023-03-09 07:10:45
python2和python3中的range区别

python2中的range返回的是一个列表

python3中的range返回的是一个迭代值

for i in range(1,10)在python2和python3中都可以使用,但是要生成1-10的列表,就需要用list(range(1,10))

Python核心编程中要输出abcde的子序列,如果用(python3)

  1. s = 'abcde'
  2. i = -1
  3. for i in [None] + range(-1, -len(s), -1):
  4. print(s[:i])

会报错

需要改成

  1. s = 'abcde'
  2. i = -1
  3. for i in [None] + list(range(-1, -len(s), -1)):
  4. print(s[:i])

输出为

  1. abcde
  2. abcd
  3. abc
  4. ab