Python循环范围与循环数组
vsPython循环范围与循环数组,python,Python,vs 哪种选择更可取?在可读性或标准方面。如果你知道如何记住你的列表,意味着你可以使用列表 例:在你的情况下,这里有[-1,0,1],你可以很容易地记住 让我们 假设您想循环此列表->[-4,-3,-2,-1,0,1,2,3,4]您会尝试此列表还是下面的列表 for i in (-1, 0, 1): pass range()将帮助您生成动态列表 如果你想知道哪种方法最好, 你应该考虑你的用例 如果要使用列表一次请使用xrange xrange将返回生成器,它比range消耗的内存更少。。因
哪种选择更可取?在可读性或标准方面。如果你知道如何记住你的列表,意味着你可以使用列表 例:在你的情况下,这里有
[-1,0,1]
,你可以很容易地记住
让我们
假设您想循环此列表->[-4,-3,-2,-1,0,1,2,3,4]
您会尝试此列表还是下面的列表
for i in (-1, 0, 1):
pass
range()将帮助您生成动态列表
如果你想知道哪种方法最好,
你应该考虑你的用例
如果要使用列表一次请使用xrange
xrange将返回生成器,它比range消耗的内存更少。。因为
range
返回一个Python列表对象,xrange
返回一个xrange对象,因此您可以使用它一次 使用range()
比使用列表慢,因为生成器必须生成每个值,而列表已经包含所有元素。因此,range()
将比列表占用更少的内存
就可读性而言,range()
通常比列表更容易阅读,range()
告诉您它将循环使用哪些整数,而列表有很多值,因此如果有一个值被跳过,就很难注意到
标准说
range()
是更好的选择,如果需要循环一定的时间,几乎应该总是使用它。哪种python版本?范围从2.x到3.x的工作方式有所不同。范围(-1,2)更具可读性;性能和内存使用差异是可以忽略的。为什么你认为会有速度差异?你想达到什么?如果序列应该包含300个数字呢?你能手动打吗?当然,range()
您测试过吗?xrange
不返回生成器。是已更改。。谢谢
for i in (-1, 0, 1):
pass
>>> range(-4,5)
[-4, -3, -2, -1, 0, 1, 2, 3, 4]