irf*_*ari 0 python design-patterns list
有没有办法检查某个模式,以便何时使用该函数可以打印列表中满足模式的元素...例如
我有一份清单
abc=['adams, brian','smith, will',' and j.smith. there is a long string here','some more strings','some numbers','etc etc']
Run Code Online (Sandbox Code Playgroud)
现在我想要的是,我得到所有具有格式'xyz,abc'和'x.abc'列表之外的字符串.
如果你们能告诉我一个如何在列表中查找某个模式的通用方法,那将是一个很大的帮助.
我会使用正则表达式:
>>> import re
>>> exp = re.compile('(\w+\.\w+)|(\w+,\s?\w+)')
>>> map(exp.findall, abc)
[[('', 'adams, brian')], [('', 'smith, will')], [('j.smith', '')], [], [], []]
Run Code Online (Sandbox Code Playgroud)
扁平化这一结果的功能方式:
>>> r = map(exp.findall, abc)
>>> filter(None, sum(sum(r, []), ()))
('adams, brian', 'smith, will', 'j.smith')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
94 次 |
| 最近记录: |