楼主: CDA网校
521 0

[每天一个数据分析师] 盘点两种方法来判断一个列表里面,按关键词进行筛选,留下包含有关键词的论文题目 [推广有奖]

管理员

大师

78%

还不是VIP/贵宾

-

威望
3
论坛币
64774 个
通用积分
3558.0689
学术水平
260 点
热心指数
268 点
信用等级
235 点
经验
203798 点
帖子
5672
精华
19
在线时间
3889 小时
注册时间
2019-9-13
最后登录
2024-9-30

初级热心勋章

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

作者:Python进阶者

来源:Python爬虫与数据挖掘

前言

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

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

一、解决方法

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

方法一:常规读取

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

# -*- coding: utf-8 -*-
# 方法一
keywordlist = ['[python](https://www.cda.cn/map/python/)', '应用']
title = [['人生苦短,我应用[python](https://www.cda.cn/map/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](https://www.cda.cn/map/python/)', '应用']
title = [['人生苦短,我应用[python](https://www.cda.cn/map/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进阶者。本文基于粉丝提问,针对列表的关键词包含问题,给出了两种解决方法,顺利帮助粉丝解决了问题。虽然文中例举了两种方法,但是小编相信肯定还有其他的方法的,也欢迎大家在评论区谏言。

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

      相关帖子DA内容精选

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:论文题目 关键词 operator python爬虫 keyword

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-10-7 01:49