繁体   English   中英

Numpy:a [i] [j]和a [i,j]之间的差异

[英]Numpy: Difference between a[i][j] and a[i,j]

来自Python的列表背景和C ++ / Java等编程语言的背景,一个用于使用a[i][j]方法提取元素的符号。 但在NumPy ,人们通常会做a[i,j] 这两个都会返回相同的结果。

这两者之间的根本区别是什么?应该首选哪些?

主要区别在于a[i][j]首先在a[i]上创建一个视图,然后索引到该视图中。 另一方面, a[i,j]直接索引到a ,使其更快:

In [9]: a = np.random.rand(1000,1000)

In [10]: %timeit a[123][456]
1000000 loops, best of 3: 586 ns per loop

In [11]: %timeit a[123,456]
1000000 loops, best of 3: 234 ns per loop

出于这个原因,我更喜欢后者。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM