Python 无法访问列表范围中的最后一个结束值

Python 无法访问列表范围中的最后一个结束值,python,python-2.7,Python,Python 2.7,我想访问大范围值,因为这个高端值有时会改变,因为我无法打印最后一个值,如果我给出较低的范围,它会被打印,但当我给出较高的范围(如73138176)或超过7位时,它会得到内存错误,因为我使用的是Python 2.7.10,有人能帮我得到这个版本Python中最后一个范围的值吗 lbas_on_bank = [] start=0 end=73138176 for lba in range(start,end): if len(lbas_on_bank)>50: lbas

我想访问大范围值,因为这个高端值有时会改变,因为我无法打印最后一个值,如果我给出较低的范围,它会被打印,但当我给出较高的范围(如73138176)或超过7位时,它会得到内存错误,因为我使用的是
Python 2.7.10
,有人能帮我得到这个版本Python中最后一个范围的值吗

lbas_on_bank = []
start=0
end=73138176
for lba in range(start,end):
    if len(lbas_on_bank)>50:
        lbas_on_bank = []
    else:
        lbas_on_bank.append(lba)
last_written_lba = lbas_on_bank[-1]
print(last_written_lba)
输出:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
MemoryError
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
记忆者
使用
xrange()
而不是
range()


... 因为Python 2中的
range
首先构建一个完整的列表,而
xrange
则不会。我不希望出现异常,而是需要打印或访问更高范围的最后一个值为什么不简单
print(end-1)
?@PatrickArtner。在我的整个代码中,结束值是不断变化的,所以无论你给它什么结束值,它都应该工作,我尝试过使用range和xrange,但它不工作
try:
  your code..
except MemoryError as er:
  print(er)