今天就跟大家聊聊有關(guān)Python中怎么過(guò)濾字符串列表,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
成都創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司是一家服務(wù)多年做網(wǎng)站建設(shè)策劃設(shè)計(jì)制作的公司,為廣大用戶提供了成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè),成都網(wǎng)站設(shè)計(jì),一元廣告,成都做網(wǎng)站選成都創(chuàng)新互聯(lián),貼合企業(yè)需求,高性價(jià)比,滿足客戶不同層次的需求一站式服務(wù)歡迎致電。
使用另一個(gè)列表過(guò)濾字符串列表
本示例說(shuō)明了如何在不使用任何方法的情況下過(guò)濾字符串列表中的數(shù)據(jù)。字符串列表在此使用另一個(gè)列表進(jìn)行過(guò)濾。在此,聲明了兩個(gè)列表變量,名稱分別為list1和list2。使用list1的值過(guò)濾list2的值。該腳本會(huì)將list2的每個(gè)值的第一個(gè)單詞與list1的值進(jìn)行匹配,并打印list1中不存在的那些值。
#coding=utf-8 # 聲明兩個(gè)列表變量 list1 = ['Python', 'PHP', 'Java', 'Bash'] list2 = ['JavaScript是客戶端腳本語(yǔ)言', 'PHP是服務(wù)器端腳本語(yǔ)言', 'Java是一種編程語(yǔ)言', 'Kotlin是一種靜態(tài)編程語(yǔ)言'] # 根據(jù)第一個(gè)列表過(guò)濾第二個(gè)列表 filter_data = [x for x in list2 if all(y not in x for y in list1)] # 在過(guò)濾前和過(guò)濾后打印列表數(shù)據(jù) print("第一個(gè)列表的內(nèi)容:", list1) print("第二個(gè)列表的內(nèi)容:", list2) print("過(guò)濾后的第二個(gè)列表的內(nèi)容:", filter_data)
運(yùn)行腳本。在此,list1不包含單詞“Kotlin”。輸出將僅包含list2中的一個(gè)值,即 ['Kotlin是一種靜態(tài)編程語(yǔ)言']。

輸出如下:
第一個(gè)列表的內(nèi)容: ['Python', 'PHP', 'Java', 'Bash']
第二個(gè)列表的內(nèi)容: ['JavaScript是客戶端腳本語(yǔ)言', 'PHP是服務(wù)器端腳本語(yǔ)言', 'Java是一種編程語(yǔ)言', 'Kotlin是一種靜態(tài)編程語(yǔ)言']
過(guò)濾后的第二個(gè)列表的內(nèi)容: ['Kotlin是一種靜態(tài)編程語(yǔ)言']
使用另一個(gè)列表和自定義函數(shù)過(guò)濾字符串列表
本示例說(shuō)明如何使用另一個(gè)列表和自定義過(guò)濾器功能過(guò)濾字符串列表。該腳本包含兩個(gè)名為list1和list2的列表變量。自定義過(guò)濾器功能將找出兩個(gè)列表變量的公共值。
# 聲明兩個(gè)列表變量 list1 = ['100', '67', '39', '505', '122', '287', '399'] list2 = ['70', '100', '308', '415', '362', '230'] # 聲明一個(gè)函數(shù)來(lái)過(guò)濾第一個(gè)列表中的數(shù)據(jù) def Filter(list1, list2): return [n for n in list1 if any(m in n for m in list2)] # 在過(guò)濾器之前和之后打印列表數(shù)據(jù) print("list1的的內(nèi)容:", list1) print("list2的的內(nèi)容:", list2) print("過(guò)濾后的數(shù)據(jù)",Filter(list1, list2))運(yùn)行腳本。兩個(gè)列表變量中都存在100的值。運(yùn)行腳本后,將生成以下輸出。
list1的的內(nèi)容: ['100', '67', '39', '505', '122', '287', '399']
list2的的內(nèi)容: ['70', '100', '308', '415', '362', '230']
過(guò)濾后的數(shù)據(jù) ['100']

使用正則表達(dá)式過(guò)濾字符串列表
通過(guò)使用前兩個(gè)示例中的all()和any()方法來(lái)過(guò)濾列表。在此示例中,使用正則表達(dá)式從列表中過(guò)濾數(shù)據(jù)。正則表達(dá)式是一種模式,通過(guò)該模式可以搜索或匹配任何數(shù)據(jù)。Python中使用're'模塊在腳本中應(yīng)用正則表達(dá)式。在此,使用主題代碼聲明列表。正則表達(dá)式用于過(guò)濾以“ CSE”開頭的主題代碼。正則表達(dá)式模式中使用'^'符號(hào)在文本的開頭進(jìn)行搜索。
# 導(dǎo)入re模塊以使用正則表達(dá)式 import re # 聲明列表包含科目編號(hào) sublist = ['IDC-108', 'OKY-309', 'IDC-709', 'PHP-102', 'MIO-801'] # 聲明過(guò)濾功能 def Filter(datalist): # 根據(jù)列表中的正則表達(dá)式搜索數(shù)據(jù) return [val for val in datalist if re.search(r'^IDC', val)] # 打印過(guò)濾器數(shù)據(jù) print(Filter(sublist))
運(yùn)行腳本。子列表變量包含兩個(gè)以“IDC”開頭的值。運(yùn)行腳本后,將顯示以下輸出。
['IDC-108', 'IDC-709']

使用lamda表達(dá)式過(guò)濾字符串列表
本示例說(shuō)明了使用lamda表達(dá)式從字符串列表中過(guò)濾數(shù)據(jù)。在這里,名為search_word的列表變量用于從名為text的文本變量中過(guò)濾內(nèi)容。通過(guò)使用split()方法,基于空間將文本內(nèi)容轉(zhuǎn)換為名為text_word的列表。lamda表達(dá)式將忽略text_word中存在于search_word中的那些值,并通過(guò)添加空格將過(guò)濾后的值存儲(chǔ)在變量中。
# 聲明一個(gè)包含linuxidc_word中關(guān)鍵詞的列表 linuxidc_word = ["系統(tǒng)", "linuxidc", "Python", "Kotlin"] # 定義文本,從列表中搜索單詞 text = "Linux公社 linuxidc 是專業(yè)的 Linux 系統(tǒng) 門戶網(wǎng)站,實(shí)時(shí)發(fā)布 最新 Kotlin 資訊!" # 根據(jù)空格分割文本并將單詞存儲(chǔ)在列表中 texttext_word = text.split() # 使用lambda表達(dá)式過(guò)濾數(shù)據(jù) filter_text = ' '.join((filter(lambda val: val not in linuxidc_word, text_word))) # 在過(guò)濾前和過(guò)濾后打印文本 print("\n過(guò)濾前的文本:\n", text) print("過(guò)濾后的文本:\n", filter_text)運(yùn)行腳本。運(yùn)行腳本后,將顯示以下輸出。
過(guò)濾前的文本:
Linux公社 linuxidc 是專業(yè)的 Linux 系統(tǒng) 門戶網(wǎng)站,實(shí)時(shí)發(fā)布 最新 Kotlin 資訊!
過(guò)濾后的文本:
Linux公社 是專業(yè)的 Linux 門戶網(wǎng)站,實(shí)時(shí)發(fā)布 最新 資訊!

使用filter()方法過(guò)濾字符串列表
filter()方法接受兩個(gè)參數(shù)。第一個(gè)參數(shù)采用函數(shù)名稱或“ None”,第二個(gè)參數(shù)采用列表變量的名稱作為值。filter()方法如果返回true,則從列表中存儲(chǔ)這些數(shù)據(jù),否則將丟棄該數(shù)據(jù)。在此,第一個(gè)參數(shù)值不指定任何值。所有不為false的值將從列表中檢索為已過(guò)濾數(shù)據(jù)。
#聲明混合數(shù)據(jù)列表 listData = ['linuxidc', 90, 9, 'com', 100, False, 22, True, '1'] # 使用None和列表調(diào)用filter()方法 filterfilteredData = filter(None, listData) #過(guò)濾數(shù)據(jù)后打印列表 print('過(guò)濾后的列表:') for val in filteredData: print(val)運(yùn)行腳本。該列表只包含一個(gè)false值,在過(guò)濾后的數(shù)據(jù)中將省略該false值。運(yùn)行腳本后將出現(xiàn)以下輸出。

看完上述內(nèi)容,你們對(duì)Python中怎么過(guò)濾字符串列表有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。
分享文章:Python中怎么過(guò)濾字符串列表
轉(zhuǎn)載來(lái)于:http://www.chinadenli.net/article18/gccjdp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、小程序開發(fā)、App開發(fā)、網(wǎng)站策劃、商城網(wǎng)站、定制開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)