今天在看《机器学习实战》一书中有关决策树的案例讲解时发现了extend和append函数都是表示添加,但用法不同的这个情况,如图:
其实,具体讲来是,extend是将容器打碎后添加(添加的是容器内的元素),而append添加是将容器看作整体来进行添加(将整个容器作为一个整体的元素添加到新的容器中)
课本中也有更容易理解的例子:
于是,我们可以真正理解通过
reducedFeatVec = featVec[:axis] #去掉axis特征 reducedFeatVec.extend(featVec[axis+1:])
上述两步只是为了去掉axis特征。
而通过append操作
retDataSet.append(reducedFeatVec)
我们又可以将reDataSet = [ ]这个空集合重新整合成数组的形式,这样我们的函数最后返回的就还是一个数据集的形式啦