如何在列表中查找项目的索引,在Python中使用正则表达式搜索项目?

我有一个这样的列表:

lst = ['something', 'foo1', 'bar1', 'blabla', 'foo2']

是否可以使用正则表达式和lst.index()获取以“foo”(foo1)开头的第一个项目的索引,如:

ind = lst.index("some_regex_for_the_item_starting_with_foo") ?

我知道我可以创建一个计数器和一个for循环并使用方法startswith().
如果我错过了一些更短更优雅的方式,我很好奇.

解决方法:

我认为没关系,你可以使用startswith方法,如果你做你真正想要的(我不确定你真的需要regEx在这里 – 但是下面的代码可以很容易地修改为使用regEx):

data = ['text', 'foo2', 'foo1', 'sample']
indeces = (i for i,val in enumerate(data) if val.startswith('foo'))

或者使用正则表达式:

from re import match
data = ['text', 'foo2', 'foo1', 'sample']
indeces = (i for i,val in enumerate(data) if match('foo', val))
上一篇:mysql – 多列数据库索引和查询速度


下一篇:c# winform 打开html界面(含引用外部文件js)