今天在看《机器学习实战》一书中有关决策树的案例讲解时发现了extend和append函数都是表示添加,但用法不同的这个情况,如图:

其实,具体讲来是,extend是将容器打碎后添加(添加的是容器内的元素),而append添加是将容器看作整体来进行添加(将整个容器作为一个整体的元素添加到新的容器中)
课本中也有更容易理解的例子:

于是,我们可以真正理解通过
reducedFeatVec = featVec[:axis] #去掉axis特征 reducedFeatVec.extend(featVec[axis+1:])
上述两步只是为了去掉axis特征。
而通过append操作
retDataSet.append(reducedFeatVec)
我们又可以将reDataSet = [ ]这个空集合重新整合成数组的形式,这样我们的函数最后返回的就还是一个数据集的形式啦
文章详细解释了在《机器学习实战》中遇到的extend和append函数的区别。extend用于将一个容器的元素逐个添加到另一个容器,而append则是将整个容器作为一个元素添加。文中以决策树和特征处理为例,展示了如何使用这两个方法来构建和调整数据集,确保最终返回的数据集保持原结构。
533

被折叠的 条评论
为什么被折叠?



