Python应用列表数据种类在顺序索引中储存好几个数据 。它的工作方式类似别的计算机语言的数据数组。filter()方式是Python的一种十分有效的方式。能够应用filter()方式从Python中的一切字符串、列表或词典中过滤一个或好几个标值 。它依据一切特殊条件过滤数据。当标准回到true时,它将储存数据,而回到false时将丢掉数据。文中根据应用不一样的实例展现了怎样在Python中过滤列表中的字符串数据 。您务必应用Python 3 来检测文中的实例。
应用另一个列表过滤字符串列表
本实例表明了怎样在不应用一切方式的状况下过滤字符串列表中的数据。 字符串列表在这里应用另一个列表开展过滤 。 在这里 ,申明了2个列表变量,名字各自为list1和list2。 应用list1的值过滤list2的值。 该脚本会将list2的每一个值的第一个英语单词与list1的值开展搭配,并打印list1中不会有的这些值 。
#coding=utf-8 # 申明2个列表变量 list1 = ['Python', 'PHP', 'Java', 'Bash'] list2 = ['JavaScript是手机客户端脚本語言', 'PHP是服务端脚本語言', 'Java是一种计算机语言', 'Kotlin是一种静态数据计算机语言'] # 依据第一个列表过滤第二个列表 filter_data = [x for x in list2 if all(y not in x for y in list1)] # 在过滤前和过滤后复印列表数据 print("第一个列表的內容:", list1) print("第二个列表的內容:", list2) print("过滤后的第二个列表的內容:", filter_data)
运作脚本。 在这里 ,list1不包含英语单词“Kotlin ”。 輸出将仅包括list2中的一个值 ,即 ['Kotlin是一种静态数据计算机语言'] 。
怎样在Python中过滤字符串列表
輸出以下:
第一个列表的內容: ['Python', 'PHP', 'Java', 'Bash']
第二个列表的內容: ['JavaScript是手机客户端脚本語言', 'PHP是服务端脚本語言', 'Java是一种计算机语言', 'Kotlin是一种静态数据计算机语言']
过滤后的第二个列表的內容: ['Kotlin是一种静态数据计算机语言']
应用另一个列表和自定义函数过滤字符串列表
本实例表明怎么使用另一个列表和自定过滤器作用过滤字符串列表 。 该脚本包括2个名叫list1和list2的列表变量。 自定过滤器作用将找到2个列表变量的公共性值。
# 申明2个列表变量 list1 = ['100', '67', '39', '505', '122', '287', '399'] list2 = ['70', '100', '308', '415', '362', '230'] # 申明一个涵数来过滤第一个列表中的数据 def Filter(list1, list2): return [n for n in list1 if any(m in n for m in list2)] # 在过滤器以前和以后复印列表数据 print("list1的的內容:", list1) print("list2的的內容:", list2) print("过滤后的数据",Filter(list1, list2))
运作脚本 。 2个列表变量上都存有100的值。 运作脚本后,将形成下列輸出。
list1的的內容: ['100', '67', '39', '505', '122', '287', '399']
list2的的內容: ['70', '100', '308', '415', '362', '230']
过滤后的数据 ['100']
怎样在Python中过滤字符串列表
应用正则表达式过滤字符串列表
根据应用前2个实例中的all()和any()方式来过滤列表 。 在这里实例中,应用正则表达式从列表中过滤数据。 正则表达式是一种方式 ,根据该方式能够检索或搭配一切数据。 Python中应用're'控制模块在脚本中运用正则表达式 。 在这里,应用主题风格编码申明列表。 正则表达式用以过滤以“ CSE”开始的主题风格编码。 正则表达式方式中应用'^'标记在文字的开始开展检索 。
# 导进re模块以应用正则表达式 import re # 申明列表包括学科序号 sublist = ['IDC-108', 'OKY-309', 'IDC-709', 'PHP-102', 'MIO-801'] # 申明过滤作用 def Filter(datalist): # 依据列表中的正则表达式检索数据 return [val for val in datalist if re.search(r'^IDC', val)] # 复印过滤器数据 print(Filter(sublist))
运作脚本。 子列表变量包括2个以“IDC”开始的值。 运作脚本后,将显示信息下列輸出 。
['IDC-108', 'IDC-709']
怎样在Python中过滤字符串列表
应用lamda关系式过滤字符串列表
本实例表明了应用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 门户网,即时公布 全新 新闻资讯!
怎样在Python中过滤字符串列表
应用filter()方式过滤字符串列表
filter()方式接纳2个主要参数 。 第一个主要参数选用涵数名字或“ 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值 。运作脚本后将出現下列輸出。
怎样在Python中过滤字符串列表
汇总:
当您必须从列表中检索和查找特殊值时 , 过滤十分有效。希望上边的事例能协助阅读者了解从字符串列表中过滤数据的方式 。