我有一个包含文本元素的列表。 说:
belowLayer
我想使用正则表达式匹配列表中所有出现的位置my_list = ['a', 'b', 're_match', 'd', 'line_to_extract_1', 'f', 'g', 're_match', 'i',
'line_to_extract_2', 'k']
,并采用第re_match
个元素存储在新列表中。我想使用列表推导来实现。
输出应如下所示:
i+2
我发现了new_list = ['line_to_extract_1', 'line_to_extract_2',...]
函数,但是不确定如何使用它(或者它是否可以达到目的)。
答案 0 :(得分:2)
只要您可以保证在每个=IMPORTDATA("https://www.amfiindia.com/spages/NAVAll.txt")
=INDEX(SPLIT(VLOOKUP(A2&"*",NAV!$A$1:$A$20501,1,false),";"),,5)
之后始终有一个可提取两个位置的项目,就可以使用此列表理解:
match_item
答案 1 :(得分:1)
我不清楚自己要问什么。如果您要询问enumerate
函数的工作方式,则可以通过以下方式进行检查:
print(list(enumerate(your_list)))
或观看the docs
没有enumerate
,就可以为您的任务提供解决方案,对我来说,如果只有索引或只有值而没有混合,则更容易阅读代码:
x = ['a', 'b', 're_match', 'd', 'line_to_extract_1', 'f', 'g', 're_match', 'i',
'line_to_extract_2', 'k']
match = 're_match'
y = [x[i + 2] for i in range(len(x) - 2) if match == x[i]]