作者:Python进阶者
来源:Python爬虫和数据挖掘
前言前几天群里一个粉丝问了个问题,忘了是谁了。有段时间了,当时没来得及截图。不知道是谁问的,当时写下了标题,如下图。
看起来不是很难。这个样本代码看起来逻辑什么的都没有问题,但是结果的输出是有问题的。原因是,因为题目里有一个列表,不是字符串,只是再加一层提取。
一、解决方法这里有两种方法供你参考。当然,肯定还有其他方法。欢迎大家积极尝试。
方法一:定期阅读
这个方法类似于示例代码中的逻辑,只不过再取一次列表,得到列表中的具体元素,结果就出来了。
# -*-编码:utf-8 -*- #方法1 关键字列表=[& # 39;python & # 39, '应用& # 39;] title =[[& # 39;人生苦短,我应用python & # 39], ['瑞克翔666 & # 39;], ['Nb & # 39], ['为蔡哥& # 39;], ['网络爬虫的应用& # 39;]] 对于标题中的luwen: 如果luwen [0]中的关键字列表[0]和luwen [0]中的关键字列表[1]: print(luwen)运行,代码结果如下:
方法2:使用运算符库
这个方法无论是蔡哥提供的还是别人提供的,也能满足要求。
# -*-编码:utf-8-*- 导入运算符 关键字列表=[& # 39;python & # 39, '应用& # 39;] title =[[& # 39;人生苦短,我应用python & # 39], ['瑞克翔666 & # 39;], ['Nb & # 39], ['为蔡哥& # 39;], ['网络爬虫的应用& # 39;], ['Python爬虫和数据挖掘& # 39;]] 对于标题中的luwen: if operator.contains (luwen [0],关键字列表[0])和operator . contains(luwen[0],关键字列表[1]): print (luwen)
也许有朋友会问,如果标题含有关键词,那就留下,否则就从列表中删除。我这里确实没有这么做,但是我觉得应该把获得的值返回来,直接拿到我手里。至于后续处理,我就不知道了。如果你真的感兴趣,这里也有一个想法。可以在列表中找到对应的索引值,保存找到的索引,然后删除没有找到的索引。
三、总结我是高级Python玩家。基于粉丝的疑问,本文给出了列表中关键词收录问题的两种解决方案,帮助粉丝顺利解决问题。虽然本文中有两个例子,但边肖认为一定还有其他方法,欢迎大家在评论区提出意见。
感谢提问的小伙伴,如果你有幸看到这篇文章,请留言!