这可能很简单,我忽略了一些东西。。。
我有一个很长的整数列表,在本例中,它代表网站的每日访问者。我想要一份新的每周访客名单。所以我需要从原始列表中得到七个组,求和,然后将它们添加到一个新列表中。
我的解决方案看起来很残忍,不优雅:
numweeks = len(daily) / 7
weekly = []
for x in range(numweeks):
y = x*7
weekly.append(sum(visitors[y:y+7]))
有没有一种更有效,或更Python的方式来做这件事?
Tags:
使用itertools.islice:
编辑:
或者,使用math.fsum:
或者密度稍低:
或者,使用numpy模块。
注意,这要求visitor中的元素数量是7的倍数。它还要求您安装numpy。然而,它也可能比其他方法更有效。
或itertools代码奖励:
我不确定这是不是“Python”,但我真的很喜欢这一行的Python。
血淋淋的细节:Comprehensions
相关问题 更多 >
编程相关推荐