列表从另一个列表中选择正则表达式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了列表从另一个列表中选择正则表达式相关的知识,希望对你有一定的参考价值。

我的代码有效,但是单行(mapfilterzip或其他任何东西)将是一个更好的解决方案

form_win = ['2/5','1/4','3/2','4/1','5/8','1/3','7/10','8/6']
form_chr = ['a','b','c','d','e','f','g','h']

b=[]
for cnt, a in enumerate(form_win):
    if re.match(r'^1\/', a) != None:
        b.extend(form_chr[cnt])
print ('uglyst:',b)
答案

这是一个使用map,filter和zip的解决方案

b = list(map(lambda x: x[1], filter(lambda x: re.match(r'^1\/', x[0]) != None, zip(form_win,form_chr))))
另一答案

您可以使用:

b = [form_chr[cnt] for cnt, a in enumerate(form_win) if re.match(r'^1\/', a) is not None]
另一答案

您可以按如下方式优化代码:

import re

form_win = ['2/5','1/4','3/2','4/1','5/8','1/3','7/10','8/6']
form_chr = ['a','b','c','d','e','f','g','h']

print('uglyst:',[ form_chr[cnt]  for cnt, a in enumerate(form_win) if(re.match(r'^1\/', a))])

以上是关于列表从另一个列表中选择正则表达式的主要内容,如果未能解决你的问题,请参考以下文章

从另一个活动返回后如何恢复活动中最后打开的片段

如何选择匹配多个正则表达式的文件列表?

正则表达式 - 如何从列表中选择第一项

从 URL 列表中选择文件路径的正则表达式

正则表达式从列表中选择第 n 个值,允许空值

从另一个片段返回时返回到屏幕上的当前位置