use*_*817 5 python arrays numpy
在 Python 中,我有一个包含 10 个数字的列表。我知道我可以通过执行以下操作找到列表中的最大值:
max = numpy.max(list)
Run Code Online (Sandbox Code Playgroud)
我还有一个在查找最大值时不想包含的索引列表。
i.e. exclude_indices = [2,3,7]
Run Code Online (Sandbox Code Playgroud)
所以我想搜索不在索引 2,3 或 7 处的数字列表中的最大值。
我确信以前已经回答过这个问题,但我不知道如何搜索它。
谢谢。
您可以使用掩码数组:
>>> arr = np.arange(10)
>>> indices = [2, 3, 9]
>>> mask = np.zeros(arr.size, dtype=bool)
>>> mask[indices] = True
>>> a = np.ma.array(arr, mask=mask)
>>> np.max(a)
8
Run Code Online (Sandbox Code Playgroud)