centers = np.array([[1,2,3],[4,5,6]])
print(centers[[0,0,0,0,0,1,1]])
输出:
[[1 2 3]
[1 2 3]
[1 2 3]
[1 2 3]
[1 2 3]
[4 5 6]
[4 5 6]]
这个功能是什么?我不确定这叫什么。
答案 0 :(得分:2)
您只是使用列表索引数组,因此传递center[...]
[0,0,0,0,0,1,1]
,没有'双'括号语法。使用列表建立索引是NumPy功能;来自文档的Indexing chapter:
NumPy数组可以使用其他数组(或任何其他可以转换为数组的类序列对象,如列表,但元组除外;请参阅本文档的末尾,了解其原因)。< / p>
您使用另一个序列(在这种情况下为列表)索引centers
,因此创建了一个重复索引0
的新数组,然后是索引1
的值,一次。
请注意,这是不切片原始数组;您正在建立索引,并生成一个包含值副本的新数组(更改centers
中的值将不会反映在新副本中)。