gpt4 book ai didi

python - 如何检查一个数组是否包含另一个数组的所有元素?如果不是,则输出缺失的元素

转载 作者:行者123 更新时间:2023-12-02 02:38:29 26 4
gpt4 key购买 nike

我需要检查数组A是否包含另一个数组B的所有元素。如果不包含,则输出缺少的元素。 A和B都是整数,B总是从0到N,间隔为1。

import numpy as np
A=np.array([1,2,3,6,7,8,9])
B=np.arange(10)

我知道我可以使用以下内容来检查是否有任何丢失的元素,但它没有给出丢失元素的索引。

np.all(elem in A  for elem in B)

Python中有没有好的方法来输出缺失元素的索引?

最佳答案

IIUC,您可以尝试以下操作并假设 B 始终是“索引”列表:

[i for i in B if i not in A]

输出为:[0, 4, 5]

使用 numpy 的最佳方法

Numpy 实际上有一个函数可以执行此操作:numpy.insetdiff1d

np.setdiff1d(B, A)

# Which returns
array([0, 4, 5])

关于python - 如何检查一个数组是否包含另一个数组的所有元素?如果不是,则输出缺失的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63970483/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com