Maison > Questions et réponses > le corps du texte
PHPz2017-04-17 13:38:06
楼上都是说xrange优点,我补充下缺点
1. python3没有xrange,如果python2迁移到3、或者要同时在2/3跑程序,就要注意。
2. xrange不支持切片,这个用起来可能不是很爽。
个人觉得,如果数据量不大,还是用range,如果数据大并且是版本2才考虑用xrange。
ps:两个都去了解,然后选择最合适自己需求的~~这个真的没有绝对~~
黄舟2017-04-17 13:38:06
range(start, end, step) 会生成一个列表 [start, start+step, start+2*step, ..., end]
如果start与end的相差很大,那生成列表的时间会很长,而且数据量很大,占内存,生成之后,再迭代。
xrange(start, end, step) 则不会生成一个列表,迭代一次生成一个数,不会有内存方面影响。
阿神2017-04-17 13:38:06
可以Google range()和xrange()的实现区别.
如果range的数不大,使用range(); 反之xrange(). 至于数多大算大,我跟感觉走
Python3.x中已经只有range()了,但是对于Python的版本问题以及维护问题,你懂的.