前言
前几天在群里看到有个人提问,我把题目记下来了,如下图所示。
文章图片
看上去并不是很难的样子,这个示例代码,看上去逻辑什么的也没有问题,但是结果输出就是有些不对。究其原因,因为title里边是列表,而不是字符串,需要再多加一层提取就好了。
一、解决方法
这里提供两个方法,供大家学习参考,当然也肯定有其他的方法,欢迎大家积极尝试。
方法一:常规读取
这个方法和示例代码中的逻辑相似,只不过针对列表多取了一次,得到了列表里边的具体的元素,结果就出来了。
# -*- coding: utf-8 -*-
# 方法一
keywordlist = ['python', '应用']
title = [['人生苦短,我应用python'], ['Rick Xiang 666'], ['歪歪nb'], ['打call'], ['网络爬虫的应用']]
for luwen in title:
if keywordlist[0] in luwen[0] and keywordlist[1] in luwen[0]:
print(luwen)
运行后,代码结果如下:
文章图片
方法二:使用operator库
这个方法也是可以满足要求的。
# -*- coding: utf-8 -*-
import operator
keywordlist = ['python', '应用']
title = [['人生苦短,我应用python'], ['Rick Xiang 666'], ['歪歪nb'], ['打call'], ['网络爬虫的应用'], ['python爬虫与数据挖掘']]
for luwen in title:
if operator.contains(luwen[0], keywordlist[0]) and operator.contains(luwen[0], keywordlist[1]):
print(luwen)
运行之后,结果如下图所示:
文章图片
可能有的小伙伴会问了,题目要求包含关键词的就留下,否则就从列表中删除,我这里确实没有做这个操作,我倒是觉得把得到的值返回出来,直接拿到手里,至于后续处理,就不得而知了。如果你真感兴趣,这里也提供一个思路,可以将得到的结果去列表中对应的找索引值,将找到的索引存起来,然后针对没有找到的索引进行删除即可。
三、总结
本文针对列表的关键词包含问题,给出了两种解决方法,顺利帮助粉丝解决了问题。虽然文中例举了两种方法,但是小编相信肯定还有其他的方法的,也欢迎大家在评论区谏言。
文章图片
【盘点两种方法判断一个列表里面,按关键词进行筛选,留下有关键词的标题】小伙伴们,快快用实践一下吧!
推荐阅读
- 推荐系统论文进阶|CTR预估 论文精读(十一)--Deep Interest Evolution Network(DIEN)
- Python专栏|数据分析的常规流程
- Python|Win10下 Python开发环境搭建(PyCharm + Anaconda) && 环境变量配置 && 常用工具安装配置
- Python绘制小红花
- Pytorch学习|sklearn-SVM 模型保存、交叉验证与网格搜索
- OpenCV|OpenCV-Python实战(18)——深度学习简介与入门示例
- python|8. 文件系统——文件的删除、移动、复制过程以及链接文件
- 爬虫|若想拿下爬虫大单,怎能不会逆向爬虫,价值过万的逆向爬虫教程限时分享
- 分布式|《Python3网络爬虫开发实战(第二版)》内容介绍
- java|微软认真聆听了开源 .NET 开发社区的炮轰( 通过CLI 支持 Hot Reload 功能)