你可以创建一个对象,它有一个无限的或者一组定义好的元素,而这并不取决于你想要的元素的数量。
因此,虽然9个一组的速度不一定比创建一个列表“快”,但几百个一组的速度肯定更快,1000万或10亿个一组的速度明显更快:
class Ones:
def __init__(self, element=1, size=9):
self.element = element
self.size = size
def __getitem__(self, index):
return self.element
def __len__(self):
return self.size
另外,如果只需要在重复的元素上迭代一个元素,而不需要在任意索引处获得一个元素,则可以使用
itertools.repeat
:
import itertools
ones = itertools.repeat(1, size=9)