熱線電話:13121318867

登錄
首頁精彩閱讀盤點兩種方法來判斷一個列表里面,按關鍵詞進行篩選,留下包含有關鍵詞的論文題目
盤點兩種方法來判斷一個列表里面,按關鍵詞進行篩選,留下包含有關鍵詞的論文題目
2022-01-13
收藏

作者:Python進階者

來源: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進階者。本文基于粉絲提問,針對列表的關鍵詞包含問題,給出了兩種解決方法,順利幫助粉絲解決了問題。雖然文中例舉了兩種方法,但是小編相信肯定還有其他的方法的,也歡迎大家在評論區諫言。

感謝提問的那個小伙伴,如果有幸看到此文,歡迎留言!

數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢