似乎这两个例外都是在类似的情况下提出的。
这两个代码行有什么区别以及在幕后发生了什么?
>>> (i for i in range(1000000000)) # 10^9
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
MemoryError
>>> (i for i in range(10000000000)) # 10^10
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
OverflowError: range() result has too many items