我有一个问题:如何通过布尔切片获得子矩阵像子数组?
例如:
a2 = np.array(np.arange(30).reshape(5, 6))
a2[a2[:, 1] > 10]
Run Code Online (Sandbox Code Playgroud)
会给我:
array([[12, 13, 14, 15, 16, 17],
[18, 19, 20, 21, 22, 23],
[24, 25, 26, 27, 28, 29]])
Run Code Online (Sandbox Code Playgroud)
但:
m2 = np.mat(np.arange(30).reshape(5, 6))
m2[m2[:, 1] > 10]
Run Code Online (Sandbox Code Playgroud)
会给我:
matrix([[12, 18, 24]])
Run Code Online (Sandbox Code Playgroud)
为什么输出不同?如何从矩阵得到与数组相同的结果?
谢谢!
假设我有一个二叉搜索树 [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]
如果我运行以下函数,我想知道递归函数执行了多少次(在以下示例中为31)
def loopBST(root):
if not root:
return
loopBST(root.left)
loopBST(root.right)
Run Code Online (Sandbox Code Playgroud)
我可以通过创建一个全局变量来获得
global ind
ind = 0
def loopBST(root):
global ind
ind += 1
if not root:
return
loopBST(root.left)
loopBST(root.right)
loopBST(bsttree)
Run Code Online (Sandbox Code Playgroud)
变量ind将为31。
问题是,如何ind在dfs函数内部创建此变量而不是创建全局变量?