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

Python进阶者
• 阅读 301

大家好,我是Python进阶者。

前言

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

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

看上去并不是很难的样子,这个示例代码,看上去逻辑什么的也没有问题,但是结果输出就是有些不对。究其原因,因为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)

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

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

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

三、总结

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

感谢提问的那个小伙伴,如果有幸看到此文,欢迎留言,安排上墙!

点赞
收藏
评论区
推荐文章
Python进阶者 Python进阶者
2年前
Python匿名函数lambda x: x-0 and x-1代表的意思是什么...
大家好,我是我是皮皮。一、前言前几天在Python最强王者交流群有个叫【ChloéP.】的粉丝问了一个关于Python匿名函数的问题,讨论十分火热,这里拿出来给大家分享下,一起学习。题目如下图所示:下面是给出的答案,乍看有点难懂。二、解决过程这个这里给出【杰】大佬的答案,一起来看看吧。下面是fliter这个函数的含义:不过看上去还是有点晦涩难懂,后来【德善
Python进阶者 Python进阶者
2年前
盘点一道Python列表合并的基础题目(列表推导式)
大家好,我是我是皮皮。一、前言前几天Python青铜交流群有个叫【猎影】的粉丝问了一个关于时间转换的问题,这里拿出来给大家分享下,可以看到报错如下图所示。题目:两个列表:运行之后,可以得到答案。如果不加那个判断的话,得到的答案是下图这样的:如果列表中的1和2都是int数据类型的话,直接一个列表推导式可以搞定,如下图所示:方法二:列表推导式使用列表推导式一
Python进阶者 Python进阶者
2年前
盘点Pandas中数据删除drop函数的一个细节用法
大家好,我是皮皮。一、前言前几天在Python最强王者群有个叫【Chloe】的粉丝问了一个关于Pandas中的drop函数的问题,这里拿出来给大家分享下,一起学习。二、解决过程下图是粉丝写的代码。index是索引的意思,我感觉这块写在一起了,看上去不太好理解,在里边还多了一层筛选。这里给出【月神】佬的解答,一起来看看吧!直接上图了,如下图所示:下图是官网
Python进阶者 Python进阶者
3年前
盘点CSV文件在Excel中打开后乱码问题的两种处理方法
大家好,我是Python进阶者。前几天给大家分享了一些乱码问题的文章,阅读量还不错,感兴趣的小伙伴可以前往:,,今天基于粉丝提问,给大家介绍CSV文件在Excel中打开后乱码问题的两种处理方法,希望对大家的学习有所帮助。前言前几天有个叫【RSL】的粉丝在Python交流群里问了一道关于CSV文件在Excel中打开后乱码的问题,如下图所示。在Excel中直接
Python进阶者 Python进阶者
2年前
盘点一个Python网络爬虫实战问题
大家好,我是皮皮。一、前言前几天在Python钻石交流群【海南菜同学】问了一个Python网络爬虫的选择器提取问题,下图是截图:代码初步看上去好像没啥问题,但是结果就是不对。fromlxmlimportetreeimportrequestsurl"http://zw.hainan.gov.cn/wssc/emalls.html"headers
Python进阶者 Python进阶者
2年前
盘点一个Python处理Excel两列单元格中有类似字符串就返回1,没有就返回0的操作
大家好,我是Python进阶者。一、前言前几天在才哥的Python交流群遇到了一个粉丝提问,提问截图如下:!(https://uploadimages.jianshu.io/upload_images/2623978995c5a
Python进阶者 Python进阶者
3星期前
灰色代码部分:要是输入名字列表,又能输出结果,但是空列表的时候就输出不了?
大家好,我是Python进阶者。一、前言前几天在Python白银交流群【Aciel】问了一个Python基础的问题,问题如下:灰色代码部分:要是输入名字列表,又能输出结果,但是空列表的时候就输出不了?二、实现过程这里【瑜亮老师】给了一个指导,具体如下所示:
Python进阶者 Python进阶者
2年前
盘点一道Python取整的基础题目
大家好,我是Python进阶者。一、前言前几天在小小明大佬的Python群里边看到一个昵称为【Big.白】的粉丝问了一道Python取整的基础题目,后来拿到钻石交流群问了一下,如下图所示。二、实现过程这是个基础题目,看上去确实不难,关键是逻辑实现。一开始自己给了一个解答,如下所示:defbrfcnt(consumenumber):ifabs(
Python进阶者 Python进阶者
2年前
盘点一个Python中列表合并的问题
大家好,我是Python进阶者。一、前言前几天在Python钻石交流群【海南菜同学】问了一个Python列表合并的问题,提问截图如下:原始代码如下:def cppi():    list1  二、实现过程这里【瑜亮老师】给出了具体的思路,如果两个列表中元素个数相同,可以用zip,然后join,如下所示。最后给了一份代码如下所示:a顺利地解决了粉丝的问题。最后
Python进阶者 Python进阶者
2年前
使用Python编程打造一款游戏
大家好,我是皮皮。一、前言前几天在Python最强王者交流群有个叫【Chloe】的粉丝问了一个Python小游戏的问题,这里拿出来给大家分享下,一起学习下。二、解决过程看上去代码有报错,截图如下。这个错误倒是很常见,因为数据类型不同,直接相加肯定报错,如果需要更改的话,那么需要转一下数据类型,这里【沈复】大佬给出了答案,如下图所示。当然了,粉丝的代码残缺的太