列表理解返回n/2的总和......?

use*_*553 0 python range

基本上,我如何在列表理解中编写相同的函数?

def blah(n):
    if n <= 1:
        return 1
    return n + blah(n/2)

print blah(32)
Run Code Online (Sandbox Code Playgroud)

除了向自己证明列表理解中任何范围的自定义步骤实际上是可行的之外,我真的不需要这个.

unu*_*tbu 5

import math
def lcsum(n):
    return sum([n>>i for i in range(int(math.log(n, 2))+1)])
Run Code Online (Sandbox Code Playgroud)