成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Python進(jìn)階學(xué)習(xí) - 如何在Python中過(guò)濾字符串列表

開(kāi)發(fā) 后端
本文通過(guò)使用不同的示例展示了如何在Python中過(guò)濾列表中的字符串?dāng)?shù)據(jù)。您必須使用Python 3+來(lái)測(cè)試本文的示例。

Python使用列表數(shù)據(jù)類(lèi)型在順序索引中存儲(chǔ)多個(gè)數(shù)據(jù)。它的工作方式類(lèi)似于其他編程語(yǔ)言的數(shù)字?jǐn)?shù)組。filter()方法是Python的一種非常有用的方法??梢允褂胒ilter()方法從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è)列表變量,名稱(chēng)分別為list1和list2。使用list1的值過(guò)濾list2的值。該腳本會(huì)將list2的每個(gè)值的第一個(gè)單詞與list1的值進(jìn)行匹配,并打印list1中不存在的那些值。 

  1. #coding=utf-8  
  2. # 聲明兩個(gè)列表變量  
  3. list1 = ['Python', 'PHP', 'Java',  'Bash']  
  4. list2 = ['JavaScript是客戶(hù)端腳本語(yǔ)言',  
  5.         'PHP是服務(wù)器端腳本語(yǔ)言',  
  6.          'Java是一種編程語(yǔ)言',  
  7.         'Kotlin是一種靜態(tài)編程語(yǔ)言']  
  8. # 根據(jù)第一個(gè)列表過(guò)濾第二個(gè)列表  
  9. filter_data = [x for x in list2 if  
  10.               all(y  not in x for y in list1)]  
  11. # 在過(guò)濾前和過(guò)濾后打印列表數(shù)據(jù)  
  12. print("第一個(gè)列表的內(nèi)容:",  list1)  
  13. print("第二個(gè)列表的內(nèi)容:", list2)  
  14. 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是客戶(hù)端腳本語(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è)列表變量的公共值。 

  1. # 聲明兩個(gè)列表變量  
  2. list1 = ['100', '67', '39', '505', '122', '287', '399']  
  3. list2 =  ['70', '100', '308', '415', '362', '230']  
  4. # 聲明一個(gè)函數(shù)來(lái)過(guò)濾第一個(gè)列表中的數(shù)據(jù)  
  5. def  Filter(list1, list2):  
  6.     return [n for n in list1 if  
  7.             any(m in  n for m in list2)]  
  8. # 在過(guò)濾器之前和之后打印列表數(shù)據(jù)  
  9. print("list1的的內(nèi)容:",  list1)  
  10. print("list2的的內(nèi)容:", list2)  
  11. 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)行搜索。 

  1. # 導(dǎo)入re模塊以使用正則表達(dá)式  
  2. import re  
  3. # 聲明列表包含科目編號(hào)  
  4. sublist = ['IDC-108',  'OKY-309', 'IDC-709', 'PHP-102', 'MIO-801']  
  5. # 聲明過(guò)濾功能  
  6. def Filter(datalist):  
  7.     # 根據(jù)列表中的正則表達(dá)式搜索數(shù)據(jù)  
  8.     return [val  for val in datalist  
  9.         if re.search(r'^IDC', val)]  
  10. # 打印過(guò)濾器數(shù)據(jù)  
  11. 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ǔ)在變量中。 

  1. # 聲明一個(gè)包含linuxidc_word中關(guān)鍵詞的列表  
  2. linuxidc_word = ["系統(tǒng)", "linuxidc", "Python",  "Kotlin"]  
  3. # 定義文本,從列表中搜索單詞  
  4. text = "Linux公社 linuxidc 是專(zhuān)業(yè)的 Linux 系統(tǒng) 門(mén)戶(hù)網(wǎng)站,實(shí)時(shí)發(fā)布 最新 Kotlin  資訊!"  
  5. # 根據(jù)空格分割文本并將單詞存儲(chǔ)在列表中  
  6. texttext_word = text.split()  
  7. # 使用lambda表達(dá)式過(guò)濾數(shù)據(jù)  
  8. filter_text = ' '.join((filter(lambda val: val not in  linuxidc_word, text_word)))  
  9. # 在過(guò)濾前和過(guò)濾后打印文本  
  10. print("\n過(guò)濾前的文本:\n", text)  
  11. print("過(guò)濾后的文本:\n",  filter_text) 

運(yùn)行腳本。運(yùn)行腳本后,將顯示以下輸出。

過(guò)濾前的文本:

 Linux公社 linuxidc 是專(zhuān)業(yè)的 Linux 系統(tǒng) 門(mén)戶(hù)網(wǎng)站,實(shí)時(shí)發(fā)布 最新 Kotlin 資訊!

過(guò)濾后的文本:

 Linux公社 是專(zhuān)業(yè)的 Linux 門(mén)戶(hù)網(wǎng)站,實(shí)時(shí)發(fā)布 最新 資訊!

使用filter()方法過(guò)濾字符串列表

filter()方法接受兩個(gè)參數(shù)。第一個(gè)參數(shù)采用函數(shù)名稱(chēng)或“ None”,第二個(gè)參數(shù)采用列表變量的名稱(chēng)作為值。filter()方法如果返回true,則從列表中存儲(chǔ)這些數(shù)據(jù),否則將丟棄該數(shù)據(jù)。在此,第一個(gè)參數(shù)值不指定任何值。所有不為false的值將從列表中檢索為已過(guò)濾數(shù)據(jù)。 

  1. #聲明混合數(shù)據(jù)列表  
  2. listData = ['linuxidc', 90, 9, 'com', 100, False, 22, True,  '1']  
  3. # 使用None和列表調(diào)用filter()方法  
  4. filterfilteredData = filter(None,  listData)  
  5. #過(guò)濾數(shù)據(jù)后打印列表  
  6. print('過(guò)濾后的列表:')  
  7. for val in  filteredData:  
  8.     print(val) 

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

總結(jié):

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

 

責(zé)任編輯:龐桂玉 來(lái)源: Linux公社
相關(guān)推薦

2023-10-20 15:58:27

Python刪除指定字符

2009-08-10 09:54:19

.NET Lambda

2017-12-11 13:50:17

LinuxBash子字符串

2021-04-01 15:02:56

Python循環(huán)編程

2022-06-22 09:56:19

PythonMySQL數(shù)據(jù)庫(kù)

2021-07-09 12:37:31

GoPython編程語(yǔ)言

2022-12-15 16:23:32

JavaScrip字符串開(kāi)發(fā)

2021-04-15 00:16:18

JavaString字符串

2020-07-06 15:50:41

Python文件Linux

2021-07-02 20:37:19

Python代碼SRP

2025-01-21 15:20:14

2021-09-13 10:20:49

Python數(shù)據(jù)程序

2024-09-11 17:00:36

2021-05-24 10:24:42

Golang字符串Python

2010-03-15 12:36:26

Python列表

2022-12-06 08:27:50

Bash腳本字符串

2023-09-01 08:19:21

Flask

2024-11-26 08:09:40

2010-02-01 16:22:36

Python字符串操作

2010-03-12 10:46:50

Python字符串
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 亚洲综合区 | 日韩av一区二区在线观看 | 日韩福利在线观看 | 日韩在线一区二区三区 | 亚洲精品视频在线播放 | 国产精品一区二区三 | 美女视频黄色片 | 国产乱肥老妇国产一区二 | 成人一级黄色毛片 | 久久国产精品色av免费观看 | 天天操网| 91精品久久久久久久久中文字幕 | 狠狠的干| 国产精品成人一区二区三区夜夜夜 | 久色视频在线 | 成人亚洲一区 | 精品国产色 | 91影院 | 人人干视频在线 | 黄色片网站在线观看 | 大象一区 | 成人午夜视频在线观看 | 欧美做暖暖视频 | 丝袜美腿一区二区三区 | 亚洲狠狠爱 | 久久久久国产精品一区 | 日韩欧美二区 | 亚洲精品中文字幕在线观看 | 丝袜美腿一区二区三区动态图 | 欧美一区二区在线播放 | 精品中文字幕在线 | 亚洲综合无码一区二区 | 久久精品国产99国产精品 | 日本欧美黄色片 | 久久久久99 | 久久午夜精品 | 伊人影院99 | 美国av毛片 | 精品美女 | 91社区在线观看 | 国产黄a一级|