【发布时间】:2016-10-22 01:33:48
【问题描述】:
我有两个数组,一个数组包含两个数组的所有索引,这些索引满足我在此之前所做的某个条件。另一个数组是布尔数组。我想获取索引数组并在布尔数组中找到相同的位置并替换这些值。
例如,我想做的是:
myIdxs = [0, 3, 5]
myBools = [1, 0, 0, 1, 1, 1, 0, 1, 0, 1]
并将 myBools 更改为:
myBools = [0, 0, 0, 0, 1, 0, 0, 1, 0, 1]
我试过了:
myBools = [myBools[i] for i in myIdx == 0]
但这并没有给我想要的输出。
【问题讨论】:
-
我们索引从
0开始,所以不应该是myBools = [0,1,1,0,1,1]假设我们将每个0切换到1,反之亦然?你是怎么得到myBools = [1,0,0,1,0,0]的? -
抱歉,我不清楚,也没有把事情说清楚。我用正确的索引从 0 编辑了问题
-
又不清楚了,按照你的逻辑输出不应该是
[1, 0, 0, 1, 0, 1, 0, 0, 0, 0]吗? -
我想在 myIndxs 给出的索引处将 myBools 的值更改为 0。