举一个例子,为什么使用列表推导式来计算列表中整数的和时所用时间比正常的
for
循环更长呢?class Store:
def __init__(self, name):
self.name = name
self.items = []
def add_items(self, name, price):
self.items.append({'name':name, 'price': price})
def stock_price(self):
return sum([item['price'] for item in self.items])
def stock_price2(self):
total = 0
for item in self.items:
total += item.get('price')
return total
store = Store("Jay")
store.add_items("nike", 100)
store.add_items('puma', 200)
print(timeit.Timer(lambda: store.stock_price()).timeit(number=1000))
print(timeit.Timer(lambda: store.stock_price2()).timeit(number=1000))
股票价格的结果为:0.0007737720006844029
股票价格2的结果为:0.0006722800026182085