给定一个字典,我需要计算字典中包含的值的对数之和,直到该总和大于1.
我开始计算部分总和:
r = [itertools.accumulate(math.log(items.values(),2))]
但是当总和大于1时,我仍然坚持如何终止操作。
答案 0 :(得分:3)
您可以尝试使用itertools.takewhile
:
takewhile(lambda x: x<1, accumulate(math.log(x,2) for x in items.values()))