Python循环范围与循环数组

时间:2017-09-22 14:23:14

标签: python

for i in range(-1, 2):
  pass

VS

for i in (-1, 0, 1):
  pass

哪种选择更可取?在可读性或标准方面。

2 个答案:

答案 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()是更好的选择,如果需要循环一定次数,应该几乎总是使用。