本示例说明白利用lamda表达式从字符串列表中过滤数据。 在这里,名为search_word的列表变量用于从名为text的文本变量中过滤内容。 通过利用split()要领,基于空间将文本内容转换为名为text_word的列表。 lamda表达式将忽略text_word中存在于search_word中的那些值,并通过添加空格将过滤后的值存储在变量中。
# 声明一个包括linuxidc_word中要害词的列表 linuxidc_word = ["系统", "linuxidc", "Python", "Kotlin"] # 界说文本,从列表中搜索单词 text = "Linux公社 linuxidc 是专业的 Linux 系统 派别网站,及时宣布 最新 Kotlin 资讯!" # 按照空格支解文本并将单词存储在列表中 text_word = text.split() # 利用lambda表达式过滤数据 filter_text = ' '.join((filter(lambda val: val not in linuxidc_word, text_word))) # 在过滤前和过滤后打印文本 print("\n过滤前的文本:\n", text) print("过滤后的文本:\n", filter_text)运行剧本。 运行剧本后,将显示以下输出。
过滤前的文本:
Linux公社 linuxidc 是专业的 Linux 系统 派别网站,及时宣布 最新 Kotlin 资讯!
过滤后的文本:
Linux公社 是专业的 Linux 派别网站,及时宣布 最新 资讯!
利用filter()要领过滤字符串列表
filter()要领接管两个参数。 第一个参数回收函数名称或“ None”,第二个参数回收列表变量的名称作为值。 filter()要领假如返回true,则从列表中存储这些数据,不然将扬弃该数据。 在此,第一个参数值不指定任何值。 所有不为false的值将从列表中检索为已过滤数据。
#声明殽杂数据列表 listData = ['linuxidc', 90, 9, 'com', 100, False, 22, True, '1'] # 利用None和列表挪用filter()要领 filteredData = filter(None, listData) #过滤数据后打印列表 print('过滤后的列表:') for val in filteredData: print(val)运行剧本。该列表只包括一个false值,在过滤后的数据中将省略该false值。运行剧本后将呈现以下输出。
总结:
当您需要从列表中搜索和检索特定值时, 过滤很是有用。我但愿上面的例子能辅佐读者领略从字符串列表中过滤数据的要领。