ald*_*ado 4 python regex indexing search list
我有一些字符串列表,我想提取其中的某个值:
["bla","blabla","blablabla","time taken to build model: 5.1 seconds", "blabla"]
Run Code Online (Sandbox Code Playgroud)
通常我会通过以下方式查找我要查找的元素的索引
list.index("time taken")
Run Code Online (Sandbox Code Playgroud)
但由于时代的变化,我想到了使用正则表达式。我只是不知道该怎么做。
那么我怎样才能找到与某个正则表达式匹配的列表元素的索引,例如 re.match() ?(如果不遍历列表,这将花费很长时间)
不确定是否有内置方法,但通过及时的列表理解很容易做到这一点O(n)。
使用正则表达式:
import re
your_list = ["bla","blabla","blablabla","time taken to build model: 5.1 seconds", "blabla"]
regex = re.compile("^time taken")
idxs = [i for i, item in enumerate(your_list) if re.search(regex, item)]
Run Code Online (Sandbox Code Playgroud)
并且没有正则表达式:
your_list = ["bla","blabla","blablabla","time taken to build model: 5.1 seconds", "blabla"]
query_term = 'time taken'
idxs = [i for i, item in enumerate(your_list) if item.startswith(query_term)]
Run Code Online (Sandbox Code Playgroud)
您可以让它返回第一个找到的索引或最后找到的索引,或者在方法中对其进行参数化以提供灵活性。
| 归档时间: |
|
| 查看次数: |
8066 次 |
| 最近记录: |