Python 使用索引数组从数组的张量数组中进行选择
我有一个张量数组和一个索引数组。我想根据给定的索引从数组中选择相应的元素。 例如,如果我的数组是:Python 使用索引数组从数组的张量数组中进行选择,python,arrays,Python,Arrays,我有一个张量数组和一个索引数组。我想根据给定的索引从数组中选择相应的元素。 例如,如果我的数组是:[[1,1],[3,1],[4,5],[7,2],[6,0] 我的索引数组是[0,0,1,1,0],然后我希望我的输出是[[1],[3],[5],[2],[6]。 如何在python中实现这一点?这里有一种使用zip lst = [[1,1],[3,1],[4,5],[7,2],[6,0]] ind = [0,0,1,1,0] [[l[i]] for l,i in zip(lst, ind)]
[[1,1],[3,1],[4,5],[7,2],[6,0]
我的索引数组是[0,0,1,1,0]
,然后我希望我的输出是[[1],[3],[5],[2],[6]
。
如何在python中实现这一点?这里有一种使用
zip
lst = [[1,1],[3,1],[4,5],[7,2],[6,0]]
ind = [0,0,1,1,0]
[[l[i]] for l,i in zip(lst, ind)]
[[1], [3], [5], [2], [6]]
我想我忘了提到我的数组不是nd.数组,而是torch.张量。但我也发现了一种方法,就是使用.gather()函数。就像我说的,我的数组是torch.tensor数组,而不是正则数组,所以我没有找到确切问题的答案。至于编码,这个问题确实出现在我的代码中,它由很多其他东西组成,这是阻止我前进的错误之一,所以我并不是在写一个从张量中提取元素的代码。如果这个问题出现在重新搜索下,我很抱歉。这是我遇到的众多错误之一,也是唯一一个我没有找到解决方案的错误,所以我就这么问了