繁体   English   中英

搜索带有通配符的字符串列表并返回匹配和索引python

[英]search list of string with wildcard and return matches & indexes python

给出一个清单

list=['beak','back','bear','kill','keel']

我想用外卡进行搜索,以返回与模式k**l匹配的所有单词。 我可以通过以下方式轻松地做到这一点:

regex=re.compile('k..l')
matches=[string for string in list if re.match(regex, string)]

但是,我还想访问匹配位置的索引,并有类似的东西:

matches=kill, keel
locs=3,4

我想要索引的原因是,一旦找到匹配项,我想在df中访问完整行(包含其他变量)。

谢谢你的帮助。

正如我的评论中所述,您可以结合使用enumeratezip来实现您的目标:

import re

lst=['beak','back','bear','kill','keel']
regex=re.compile('k..l')
locs, matches = zip(*[(idx, string) for idx, string in enumerate(lst) if re.match(regex, string)])
print(matches)
print(locs)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM