python代码报错如标题,实际是两个range相加。仍然是python2和python3版本导致的错误。
python2中,range()返回的是list,可以将两个range()直接相加,如range(5)+range(10)
python3中,range()成了一个class,不可以直接将两个range()直接相加,需要先加个list,如list(range(5))+list(range(10))
因为python3中的range()为节省内存,仅仅存储了range()的start,stop,step这三个元素,其余值使用时一个一个的算,其实就是个迭代器,加上list()让range()把所有值算出来就可以相加了.
其中,range(5)+range(10)返回:[0, 1, 2, 3, 4, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]