python TypeError: can only concatenate list (not "range") to list报错解决

学习Python2核心编程第6章,里面有个这个例子

def strreducedisply(str):
"""
有一个字符串比如:abcdefg,我们希望通过循环这样显示
abcdef
abcde
abcd
abc
ab
a
:arg
:return:
"""
for i in [None]+ range(-1,-len(str), -1):
print(str[:i])

if __name__ == '__main__':
strreducedisply('abcdefg')

 

 字面意思翻译为:类型错误,list 只能连接list ,不能连接range

 

修改如下

for i in [None]+ [x for x in range(-1,-len(str), -1)]:
print(str[:i])

运行成功

 

posted @ 2021-12-17 10:13  糖糖来迟  阅读(1383)  评论(0)    收藏  举报