P[(n),(m)]
和 P[[n],[m]]
有什么区别?我原以为他们都选择了一个元素,因此是一个标量,但 ()
和 []
产生不同的形状。 ()
的标量和 []
的数组。
这背后的设计决策和想法是什么?
import numpy as np
a = np.array(1).reshape(1, -1)
print(a)
---
[[1]]
b = a[
(0),
(0)
]
print(b)
print(b.shape)
print(b.ndim)
---
1
()
0
c = a[
[0],
[0]
]
print(c)
print(c.shape)
print(c.ndim)
---
[1]
(1,)
1
答案 0 :(得分:1)
这是因为为了创建一个只有一个元素的元组,你需要添加一个逗号。
b = a[(0,), (0,)]
返回与 c = a[[0],[0]]
相同的结果。
你可以试试这个:
print(type((0)))
print(type((0,)))
输出:
<class 'int'>
<class 'tuple'>
如果您只想选择一个元素,只需执行 a[0,0]
。