问题描述
当我在VS Code(JS)中运行创建二叉树的代码时,它运行,但是当我np.apply_along_axis
时,它只显示np.random.seed(42)
myarray = np.random.choice(list(string.ascii_lowercase),size=(100,100))
def Epsi95(arr):
uniques = np.unique(arr)
def fun(x):
base_dict = dict(zip(uniques,[0]*uniques.shape[0]))
base_dict.update(dict(zip(*np.unique(x,return_counts=True))))
return [i[-1] for i in sorted(base_dict.items())]
return np.apply_along_axis(fun,1,arr)
def MadPhysicist(myarray):
letters,inv = np.unique(myarray,return_inverse=True)
inv = inv.reshape(myarray.shape)
return (inv == np.arange(len(letters)).reshape(-1,1)).sum(-1)
%timeit Epsi95(myarray)
6.37 ms ± 26.8 µs per loop (mean ± std. dev. of 7 runs,100 loops each)
%timeit MadPhysicist(myarray)
1.28 ms ± 6.85 µs per loop (mean ± std. dev. of 7 runs,1000 loops each)
、console.log(tree)
和{{ 1}}。我看不到 root
。
使用 Chrome 的代码段来运行 JavaScript,很容易在控制台中看到树叶,因为有小箭头(指向右侧),您可以单击并查看整个树和节点的属性。这棵树是只有 5 个值的二叉搜索树,如果它有 100 个值呢?还是1000?还是数百万?
我当然是在 VS Code 中使用 JS 的新手,这就是为什么我还不确定如何做到这一点。
另一件事 - 有没有办法在 VS Code 中使用调试器,就像我在 Chrome 中一样,通过添加断点并手动逐步运行代码,以便我可以看到错误在哪里?
例如:
root.left
查看带有 root.right
的节点,右侧属性中有一个 root.left.right
。我无法点击它来查看该特定节点的属性,虽然它是蓝色的(在 VS Code 中)但它只是文本,我看不到它的属性。
我想像在 Chrome 中一样查看整棵树。有办法吗?
解决方法
VS Code 有一整节关于 debugging。它支持断点,并允许您检查值(在断点期间将鼠标悬停在变量上时),类似于 Chrome 的控制台。