for i in range(-1, 2):
pass
VS
for i in (-1, 0, 1):
pass
哪种选择更可取?在可读性或标准方面。
答案 0 :(得分:0)
如果您知道如何记住您的列表意味着您可以使用列表..
例如:在你的情况下,你有[-1,0,1]
,你可以轻松记住......
让,
考虑您要循环此列表 - > [-4,-3,-2,-1,0,1,2,3,4]
你会尝试这个还是一个以下?
>>> range(-4,5)
[-4, -3, -2, -1, 0, 1, 2, 3, 4]
range()将帮助您生成动态列表...
如果你想要哪个是最好的方法, 你应该考虑你的用例..
如果您要使用列表,请使用 xrange xrange将返回生成器,它消耗的内存少于范围..因为
range
返回 Python列表对象,xrange
返回 xrange对象,以便您可以使用一次..
答案 1 :(得分:0)
使用range()
比使用列表慢,因为生成器必须产生每个值,而列表已经包含所有元素。因此,range()
占用的内存少于列表。
就可读性而言,range()
通常比列表更容易阅读,range()
告诉你哪些整数会循环播放,而列表有很多值,所以如果有的话一个被跳过的值,很难注意到。
标准说range()
是更好的选择,如果需要循环一定次数,应该几乎总是使用。