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

开发 后端
本文基于粉丝提问,针对列表的关键词包含问题,给出了两种解决方法,顺利帮助粉丝解决了问题。虽然文中例举了两种方法.

大家好,我是Python进阶者。

前言

前几天才哥群里有个粉丝提问,忘记是谁了,过去有段时间,当时没来得及截图,不知道谁问的了,不过题目当时记下来了,如下图所示。

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

一、解决方法

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

方法一:常规读取

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

  1. # -*- coding: utf-8 -*- 
  2. # 方法一 
  3. keywordlist = ['python''应用'
  4. title = [['人生苦短,我应用python'], ['Rick Xiang 666'], ['歪歪nb'], ['为才哥打call'], ['网络爬虫的应用']] 
  5. for luwen in title: 
  6.     if keywordlist[0] in luwen[0] and keywordlist[1] in luwen[0]: 
  7.         print(luwen) 

运行后,代码结果如下:

方法二:使用operator库

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

  1. # -*- coding: utf-8 -*- 
  2. import operator 
  3. keywordlist = ['python''应用'
  4. title = [['人生苦短,我应用python'], ['Rick Xiang 666'], ['歪歪nb'], ['为才哥打call'], ['网络爬虫的应用'], ['python爬虫与数据挖掘']] 
  5. for luwen in title: 
  6.     if operator.contains(luwen[0], keywordlist[0]) and operator.contains(luwen[0], keywordlist[1]): 
  7.         print(luwen) 

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

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

三、总结

我是Python进阶者。本文基于粉丝提问,针对列表的关键词包含问题,给出了两种解决方法,顺利帮助粉丝解决了问题。虽然文中例举了两种方法,但是小编相信肯定还有其他的方法的.

 

责任编辑:姜华 来源: Python爬虫与数据挖掘
相关推荐

2011-06-20 14:32:59

关键词

2011-06-07 18:45:41

关键词

2011-06-20 15:24:43

关键词

2011-06-29 11:20:25

关键词SEO

2011-06-14 19:11:38

关键词

2013-08-26 15:43:40

AppStore关键词开发者应用选取关键词

2011-05-25 17:58:00

2019-12-22 13:48:26

退休科技行业大佬

2011-05-25 17:38:56

关键词

2013-01-09 14:58:18

综合布线线缆技术光纤产品

2011-05-19 17:08:02

关键词

2011-06-19 12:20:47

长尾关键词

2011-06-14 10:01:03

长尾关键词

2011-07-03 21:27:52

关键词

2011-06-30 18:43:26

长尾关键词

2011-06-16 17:54:25

关键词

2011-06-21 16:48:21

关键词SEO

2014-12-19 10:00:19

云计算

2012-03-20 22:19:16

Linux

2009-11-03 09:02:59

Windows 7苹果竞争
点赞
收藏

51CTO技术栈公众号