删除条目后获取原始列表的索引

时间:2018-08-08 23:40:09

标签: python numpy

假设我有一个列表:

.slideDown {
    animation-name: slideDown;
    -webkit-animation-name: slideDown;

    animation-duration: 1s;
    -webkit-animation-duration: 1s;

    animation-timing-function: ease;
    -webkit-animation-timing-function: ease;

    visibility: visible !important;
    z-index: -1000 //TRIED CHANGING Z-INDEX
}

@keyframes slideDown {
    0% {
        transform: translateY(-100%);
    }
    50%{
        transform: translateY(8%);
    }
    65%{
        transform: translateY(-4%);
    }
    80%{
        transform: translateY(4%);
    }
    95%{
        transform: translateY(-2%);
    }
    100% {
        transform: translateY(0%);
    }
}

然后我还有另一个列表,其中包含我必须从original_list = [1, 2, 3, 4, 5, 6, 7, 8, 9] 中删除的索引:

original_list

然后我使用Numpy删除/删除这些索引:

remove_list = [0, 4, 6]

很好,假设我现在想用final_list = np.delete(original_list, remove_list, axis = 0] 来找到final_list的最大值。现在有什么办法可以找出该值在np.amax(final_list)中具有哪个索引?

2 个答案:

答案 0 :(得分:2)

选项1:np.where

>>> np.where(original_list == np.amax(final_list))
(array([8]),)

选项2:.index()

>>> original_list.index(np.amax(final_list))
8

注意:如果有多个匹配的索引,则此方法将仅返回第一个/最小的索引。如果需要所有索引,请按上述方式使用np.where

答案 1 :(得分:0)

这是您可以执行此操作的另一种方式,

mask = np.zeros(original_list.shape, dtype=np.bool)
mask[remove_list] = True

np.ma.MaskedArray(original_list, mask=mask).argmax()