我正在处理以下问题:我有一个列表,比方说a=[1, 2, 3]和一个数组b=[[2, 4, 6],[3, 2, 5],[4, 1, 3]],列表中元素的数量等于数组中的行数,输出应该是列表c=[-1, 1, 2],其中-1表示在数组b的第0行中没有找到数字a[0],其他数字告诉索引元素a[i]在行b[i, :]中的什么位置,索引枚举从0开始.

我使用循环解决了它,但我正在寻找一种更优的方法来使用np.where或Torch替代方案,如果有任何帮助,我将非常感激.

推荐答案

假设每行最多有一个匹配,您可以使用:

out = np.full_like(a, -1)
idx, vals = np.where(b == a[:,None])
out[idx] = vals

输出:array([-1, 1, 2])

可重现的输入:

a = np.array([1, 2, 3])
b = np.array([[2, 4, 6],[3, 2, 5],[4, 1, 3]])

Python相关问答推荐

Inquirer库不适用于Pyterfly

预期LP_c_Short实例而不是_ctyles.PyCStructType

如何将Matplotlib的fig.add_axes本地坐标与我的坐标关联起来?

过载功能是否包含Support Int而不是Support Int?

如何终止带有队列的Python进程?+ 队列大小的错误?

Image Font生成带有条形码Code 128的条形码时出现枕头错误OSErsor:无法打开资源

如何使用矩阵在sklearn中同时对每个列执行matthews_corrcoef?

计算所有前面行(当前行)中列的值

Python Hashicorp Vault库hvac创建新的秘密版本,但从先前版本中删除了密钥

返回nxon矩阵的diag元素,而不使用for循环

运行回文查找器代码时发生错误:[类型错误:builtin_index_or_system对象不可订阅]

当使用keras.utils.Image_dataset_from_directory仅加载测试数据集时,结果不同

从收件箱中的列中删除html格式

_repr_html_实现自定义__getattr_时未显示

无法通过python-jira访问jira工作日志(log)中的 comments

如何使用LangChain和AzureOpenAI在Python中解决AttribeHelp和BadPressMessage错误?

形状弃用警告与组合多边形和多边形如何解决

如何在Python中找到线性依赖mod 2

转换为浮点,pandas字符串列,混合千和十进制分隔符

在方法中设置属性值时,如何处理语句不可达[Unreacable]";的问题?