如何在不使用for循环的情况下使用numpy数组访问列表的条目

拉克希特·科塔里(Rakshit Kothari)

给出一个清单L = [0,1,2,3,4,5,6,7,8,9]访问/提取元素的索引由numpy数组给出的最佳方法是什么?nArr=np.array([0,-1,2,6])

结果输出应为另一个列表P = [0,9,2,6]

显然,当元素的形状一致时,我们可以将其简单地转换为另一个numpy数组,但是如果不是这样呢?例如,M = [np.random.rand(5,5), np.random.rand(1)]

hpaulj

Stock Python具有一个便利类,即itemgetter

In [27]: from operator import itemgetter
In [28]: L = [0,1,2,3,4,5,6,7,8,9]
In [29]: nArr=np.array([0,-1,2,6])
In [30]: itemgetter(*nArr)
Out[30]: operator.itemgetter(0, -1, 2, 6)
In [31]: itemgetter(*nArr)(L)
Out[31]: (0, 9, 2, 6)

在内部它等效于列表理解:

In [33]: [L[x] for x in nArr]
Out[33]: [0, 9, 2, 6]

因此,这不是像数组索引那样的快速操作(请看其代码)。sort当您想定义一个key获取多个值函数时,它可能是最有用的一种执行方式或其他操作

https://stackoverflow.com/a/47585659/901925

制作一个随机的嵌套列表:

In [54]: arr = np.random.randint(0,10,(4,4))
In [55]: L = arr.tolist()
In [56]: L
Out[56]: [[9, 5, 8, 4], [1, 5, 5, 8], [8, 0, 5, 8], [1, 4, 5, 1]]

词汇按“列”排序:

In [57]: sorted(L)
Out[57]: [[1, 4, 5, 1], [1, 5, 5, 8], [8, 0, 5, 8], [9, 5, 8, 4]]

词汇按“列” 2和1排序(按此顺序):

In [59]: sorted(L, key=itemgetter(2,1))
Out[59]: [[8, 0, 5, 8], [1, 4, 5, 1], [1, 5, 5, 8], [9, 5, 8, 4]]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在不使用循环的情况下选择numpy数组的元素?

Numpy - 如何在不使用 python 循环的情况下转换这个数组?

如何在不使用for循环的情况下从数组列表中删除元素

如何在不使用生物服务指定生物的情况下访问KEGG条目?

如何在不使用循环的情况下获取大于或小于NumPy数组中每个项目的项目索引?

如何在不使用numpy或tensorflow中使用任何循环的情况下获取矩阵行?

如何在不使用循环的情况下使用numpy.lexsort

如何在不使用numpy在python中使用for循环的情况下实现矩阵映射?

数组对象数组,如何在不使用属性名称的情况下访问单个元素?

如何在不使用数组 [key] 的情况下访问数组值?

如何在不使用for循环的情况下使用str_split拆分嵌套列表?

如何在不使用循环的情况下多次打印?

如何在不使用for循环的情况下向量化这两个numpy操作?

如何在不使用嵌套的for循环的情况下迭代两个列表?

如何在不使用 for 循环的情况下通过字符串列表过滤 java 流

如何在不使用for循环的情况下转储<WebElement>列表的内容

如何在不使用for循环的情况下对两个列表的多个元素进行处理?

如何在不使用for循环的情况下检查列表中的元素?

如何在不使用循环的情况下对 3 个以上的多维数组进行元素乘法

如何在不使用任何循环的情况下从PHP中的数组获取偶数键值

如何在不使用循环的情况下将数组转换为Javascript中的对象?

如何在不使用循环的情况下获取关联数组的特定字段?

如何在不使用循环目标c的情况下比较两个动态数组

如何在不使用PHP循环的情况下计算多维数组的元素数?

如何在不使用星号,循环,数组,导入的情况下重复字符串消息

如何在不使用 for 循环的情况下迭代 FormData entries() 数组

如何在不使用任何循环的情况下计算字符数组中字符的长度?

如何在不使用索引器(javascript)的情况下访问数组的元素?

如何在iOS中不使用AppDelegate的情况下访问全局数组