我有一个看起来像这样的数组
[1, 0, 1 , 0 , 0, 1]
Run Code Online (Sandbox Code Playgroud)
我想得到那些有 1 的索引。所以在这里我会得到一个数组[0, 2 , 5]
,然后基于它我会创建一个新数组,它接受这些数字并用它们对 2 求幂所以最终数组是
[2**0, 2**2, 2**5]
Run Code Online (Sandbox Code Playgroud)
有没有办法尽快写出来?
您可以在列表理解中使用 enumerate:
a = [1, 0, 1 , 0 , 0, 1]
b = [2**idx for idx, v in enumerate(a) if v]
b
Run Code Online (Sandbox Code Playgroud)
[1, 4, 32]
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4034 次 |
最近记录: |