久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Python中過(guò)濾字符串列表的方法

瀏覽:49日期:2022-07-01 14:50:23

Python使用列表數(shù)據(jù)類型在順序索引中存儲(chǔ)多個(gè)數(shù)據(jù)。它的工作方式類似于其他編程語(yǔ)言的數(shù)字?jǐn)?shù)組。filter()方法是Python的一種非常有用的方法。可以使用filter()方法從Python中的任何字符串、列表或字典中過(guò)濾一個(gè)或多個(gè)數(shù)值。它根據(jù)任何特定條件過(guò)濾數(shù)據(jù)。當(dāng)條件返回true時(shí),它將存儲(chǔ)數(shù)據(jù),而返回false時(shí)將丟棄數(shù)據(jù)。本文通過(guò)使用不同的示例展示了如何在Python中過(guò)濾列表中的字符串?dāng)?shù)據(jù)。您必須使用Python 3+來(lái)測(cè)試本文的示例。

使用另一個(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ǔ)言’]。

如何在Python中過(guò)濾字符串列表

輸出如下:

第一個(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”開(kāi)頭的主題代碼。 正則表達(dá)式模式中使用’^’符號(hào)在文本的開(kāi)頭進(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”開(kāi)頭的值。 運(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ǔ)在列表中text_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()方法filteredData = filter(None, listData)#過(guò)濾數(shù)據(jù)后打印列表print(’過(guò)濾后的列表:’)for val in filteredData: print(val)

運(yùn)行腳本。該列表只包含一個(gè)false值,在過(guò)濾后的數(shù)據(jù)中將省略該false值。

總結(jié):

當(dāng)您需要從列表中搜索和檢索特定值時(shí), 過(guò)濾非常有用。我希望上面的例子能幫助讀者理解從字符串列表中過(guò)濾數(shù)據(jù)的方法。

作者: wyh草樣

出處:https://www.cnblogs.com/wyh0923/p/14166552.html

以上就是Python中過(guò)濾字符串列表的方法的詳細(xì)內(nèi)容,更多關(guān)于Python中過(guò)濾字符串列表的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 漂亮少妇videoshd忠贞 | 国产精品国产精品国产专区不片 | 一级篇 | 一级片日韩| 日韩久久综合 | 久久人人爽人人爽人人片av不 | 亚州男人天堂 | 午夜视频网 | 亚洲精选一区二区 | 欧美日韩中文 | 搞黄免费视频 | 99久久99热这里只有精品 | 天天操综合网 | 黄色片在线免费观看 | 高清av网站| 亚洲精品夜夜夜 | 91精品久久久久久久久久入口 | 国产精品国产精品国产 | 国产欧美精品一区二区三区四区 | 亚洲精品久久久一区二区三区 | 日韩成人免费中文字幕 | av性色 | 777kkk999成人ww | 视频一区二区中文字幕日韩 | 九九久久精品视频 | www国产亚洲精品 | 在线视频 中文字幕 | 日韩精品免费 | 国产精品成人国产乱一区 | 亚洲国产精品成人 | 国产精品免费观看 | 另类 综合 日韩 欧美 亚洲 | 在线观看国产精品一区 | 色综合久久久久 | 国产区在线观看 | 精品欧美视频 | 国产真实精品久久二三区 | 亚洲视频在线看 | 成人高清视频免费观看 | 午夜爱爱毛片xxxx视频免费看 | 日韩在线视频一区 |