python - 用列表切片数组

标签 python arrays slice

所以,我创建了一个 numpy 数组:

a = np.arange(25).reshape(5,5)

array([[ 0, 1, 2, 3, 4], [ 5, 6, 7, 8, 9], [10, 11, 12, 13, 14], [15, 16, 17, 18, 19], [20, 21, 22, 23, 24]])

传统切片a[1:3,1:3]返回

array([[ 6, 7], [11, 12]])

就像在第二个中使用列表一样a[1:3,[1,2]]

array([[ 6, 7], [11, 12]])

但是,a[[1,2],[1,2]] 返回

array([ 6, 12])

显然我不明白这里的一些东西。也就是说,使用列表进行切片有时可能非常有用。

干杯,

最佳答案

您观察到了所谓的Advanced Indexing的效果。让我们考虑一下链接中的示例:

import numpy as np
x = np.array([[1, 2], [3, 4], [5, 6]])
print(x)
[[1 2]
 [3 4]
 [5 6]]
print(x[[0, 1, 2], [0, 1, 0]])  # [1 4 5]

您可能会认为这是提供网格(笛卡尔)坐标列表,如

print(x[0,1])  # 1
print(x[1,1])  # 4
print(x[2,0])  # 5

关于python - 用列表切片数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59740566/

相关文章:

python - 使用来自多个返回值函数的参数进行字符串格式化

Python 3.6 对 Dict 对象的变量替换

javascript - 拆分多个数组 json 字符串

javascript - 为什么我的 Array.prototype.equals 函数显示为使用 jQuery.extend() 复制的数组中的元素?

javascript - Jquery,切片失败时返回什么?

python - 在 NumPy 中使用 2 个维度进行索引时出错

python - 动态增加div容器的高度

python - uwsgi worker 之间的沟通

Javascript 和 3 参数过滤器

python - 根据项目的长度将 python 列表拆分成 block