我关心的是关于类似:当范围很大时,“for/range”会消耗大量内存吗?
for i in range(1000000000):
...
从一个天真的观点,我认为10亿个整数数组分配和循环开始前初始化,释放循环结束之后。
所以我想知道我是否应该将其替换为:
i = 0
while i < 1000000000:
...
i += 1
但根据this answer,一个for
循环执行比同等while
循环更快。
所以我必须为这种折衷做出解决,或者我的假设是错误的,并且在迭代大型range
时没有显着的内存影响?
@ mkrieger1:我的问题是“范围消耗内存”,而不是“范围和xrange之间有什么区别”。所以**按照定义**,这两个问题不能重复。这两个答案可能是,所以你可以将它们标记为重复。 – goodvibration
@khelwood:我的问题是“范围消耗内存”,而不是“范围和xrange之间有什么区别”。所以**按照定义**,这两个问题不能重复。这两个答案可能是,所以你可以将它们标记为重复。 – goodvibration
@ Jean-FrançoisFabre:我的问题是“范围消耗内存”,而不是“范围和xrange之间的区别”。所以**按照定义**,这两个问题不能重复。这两个答案可能是,所以你可以将它们标记为重复。 – goodvibration