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

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

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

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

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

会报错

需要改成

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

输出为

 

[plain] view plain copy
 
  1. abcde  
  2. abcd  
  3. abc  
  4. ab  

相关文章:

  • 2021-10-25
  • 2021-12-31
  • 2022-02-16
  • 2022-12-23
猜你喜欢
  • 2021-09-16
  • 2021-09-09
  • 2022-02-09
  • 2021-11-06
  • 2021-10-22
  • 2022-12-23
  • 2021-10-14
相关资源
相似解决方案