例如
>>> two_powers(42)
>>> (2, 8, 32)
Run Code Online (Sandbox Code Playgroud)
我目前的天真实现(取自这里)看起来像那样
def two_powers(num):
return tuple(2 ** i for i, j in enumerate(bin(num)[-1: 1: -1]) if j == '1')
Run Code Online (Sandbox Code Playgroud)
但我希望有更快的方法来做到这一点.