前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >盘点两种方法判断一个列表里面,按关键词进行筛选,留下有关键词的标题

盘点两种方法判断一个列表里面,按关键词进行筛选,留下有关键词的标题

原创
作者头像
程序员鑫港
发布2022-01-13 15:09:22
2820
发布2022-01-13 15:09:22
举报
文章被收录于专栏:python12python12

​前言

前几天在群里看到有个人提问,当时把题目记下来了,如下图所示。

图片
图片

​ 看上去并不是很难的样子,这个示例代码,看上去逻辑什么的也没有问题,但是结果输出就是有些不对。究其原因,因为title里边是列表,而不是字符串,需要再多加一层提取就好了。

一、解决方法

这里提供两个方法,供大家学习参考,当然也肯定有其他的方法,欢迎大家积极尝试。

方法一:常规读取

这个方法和示例代码中的逻辑相似,只不过针对列表多取了一次,得到了列表里边的具体的元素,结果就出来了。

代码语言:javascript
复制
# -*- 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库

这个方法是才哥还是谁提供的,也是可以满足要求的。

代码语言:javascript
复制
# -*- coding: utf-8 -*-import operatorkeywordlist = ['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)

运行之后,结果如下图所示:

图片
图片

可能有的小伙伴会问了,题目要求包含关键词的就留下,否则就从列表中删除,我这里确实没有做这个操作,我倒是觉得把得到的值返回出来,直接拿到手里,至于后续处理,就不得而知了。如果你真感兴趣,这里也提供一个思路,可以将得到的结果去列表中对应的找索引值,将找到的索引存起来,然后针对没有找到的索引进行删除即可。

三、总结

本文针对列表的关键词包含问题,给出了两种解决方法。虽然文中例举了两种方法,但是小编相信肯定还有其他的方法的,也欢迎大家在评论区谏言。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • ​前言
  • 前几天在群里看到有个人提问,当时把题目记下来了,如下图所示。
  • 一、解决方法
  • 三、总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档