根据布尔/二进制向量更改Python列表中的对象

问题描述 投票:0回答:1

设 L=[-1, 3, 4, -2, 6] 为列表,索引=np.array([1, 0, 0, 1,1], dtype=bool) 一个布尔向量。我想根据索引设置 L 的条目,例如 L[indices]= 一个对象 OBJ,因此结果是 [OBJ, 3, 4, OBJ, OBJ]。

如果可能的话,OBJ 应该是这样的,当执行其点积时 任何稀疏向量,结果都是非常有效的 OBJ。像 OBJ=[] 或 None 这样的东西有任何意义吗?

非常感谢您的帮助!

我尝试了 L[indices]=OBJ 就好像 L 是一个数组一样,但出现错误。

python list numpy
1个回答
0
投票
import numpy as np
L=[-1, 3, 4, -2, 6] 
indices=np.array([1, 0, 0, 1,1], dtype=bool)
[None if b else e for e,b in zip(L, indices)]

结果

[None, 3, 4, None, None]

是你的意思吗?

© www.soinside.com 2019 - 2024. All rights reserved.