爬虫的数据精炼问题
来源:13-9 数据精炼
大狸花猫
2018-04-06
def __refine(self,anchors): l = lambda anchor:{ 'name':anchor['name'][0].strip(), 'number':anchor['number'][0] } return map(l,anchors)
七月老师我想问一下,数据精炼中匿名函数的形参之后的方法部分
'name':anchor['name'][0].strip(), 'number':anchor['number'][0]
anchor['name'][0]这个有点理解不通·····我打印了anchors已经是一个list列表了,里面的数据是[{'name': '2d战衣托儿索', 'number': '23.9万'}, {'name': '叫我官人', 'number': '12.3万'}, {'name': '刀锋秀秀QAQ', 'number': '1.8万'}]这种,但是这个数据不是显示列表然后是集合吗为什么不是anchor[0]['name']这种读取方式?另外想问一下这个匿名函数里面那个anchor['name'][0]在读取完第0个anchor后如何读下面一个的?并没有写自增呀?麻烦老师了
写回答
2回答
-
是的~~~
012018-04-07 -
大狸花猫
提问者
2018-04-07
额,看了一会好像搞懂了···想问一下七月老师第一个问题是不是因为对象是上面__analysis方法里面anchors中堆栈的anchor所以读取的是anchor这个集合而不是anchors所以是anchor['name'][0]?第二个问题是不是因为最下面__refine方法中的map让l和anchors中的每一个anchor做精炼 然而每个anchor中都只有一个'name'和‘number’所以后面的下标都是0?
00
相似问题