我有一个看起来像这样的数组
[1, 0, 1 , 0 , 0, 1]
我希望得到那些含有1的索引.
所以在这里我会得到一个[0,2,5]的数组
然后基于它我将创建一个新数组,它接受这些数字并用它们指数化2
所以结束数组是
[2**0, 2**2, 2**5]
有没有办法尽快写出来?
最佳答案 你可以在列表理解中使用枚举:
a = [1, 0, 1 , 0 , 0, 1]
b = [2**idx for idx, v in enumerate(a) if v]
b
输出:
[1, 4, 32]