老师,我把你在pycharm的程序中 distances =[]的中括号改成()小括号,结果变成了0,是不是因为小括号的优先级大于中括号呢?
来源:4-2 scikit-learn中的机器学习算法封装

B哥Roger
2021-08-23
写回答
1回答
-
liuyubobobo
2021-08-23
不是,和优先级无关。是因为 [] 和 () 表达的意思完全不同。
[] 是指一个数组,我们的 distance 是一个数组。
但如果写成
(sqrt(np.sum((x_train - x) ** 2)) for x_train in self._X_train)
这是一个生成表达式。
你可以使用打印出 distance 的方式,来具体的看一下 distance 究竟是什么。
随便写一个测试程序:b 用小括号包着,是一个生成表达式。c 用中括号,是一个数组(list)
继续加油!:)
012021-08-23
相似问题