If you didn't know, range objects already support most non-mutating list methods:
>>> fakelist = range(1, 101)
>>> fakelist[-1]
100
>>> fakelist[-10:]
range(91, 101)
>>> 50 in fakelist
True
>>> fakelist.index(50)
49
Range objects are more efficient than lists since they use O(1) memory instead of O(n), and many of the methods take O(1) time instead of O(n).