gpt4 book ai didi

python - 如何在Python中动态生成这段代码?

转载 作者:行者123 更新时间:2023-12-01 04:34:28 27 4
gpt4 key购买 nike

我有一个很大的数据列表和另一个模式列表。我正在尝试使用模式来过滤数据。这是我使用一些示例数据的代码:

dataList = [ '4334 marked val 5656 bin', 
'76-67-34 done this 99',
'bin ket AZZ3R434 pid'
]

for data in dataList:
regexList = [ re.search(r'val ([\d]+) bin', data),
re.search(r'bin ket ([A-Z\d-]+)\b', data)
]

for reg in regexList:
if reg: #If there's a match
#...do something...
break

在上面的regexlist代码中,“re.search()”部分一次又一次地重复。我只想保留一个模式列表,如下所示:

regexList = [ 'val ([\d]+) bin',
'bin ket ([A-Z\d-]+)\b'
]

稍后将这些模式与 re.search() 一起使用。我尝试同时使用 eval() 和 exec(),但总是出现错误。

我还想知道“regexList”是否在 for 循环下一次又一次地创建?

最佳答案

我不明白为什么您需要使用 eval/exec 来执行此操作。只需将模式传递给循环内的 re.search 即可:

regexList = [
r'val ([\d]+) bin',
r'bin ket ([A-Z\d-]+)\b'
]
for pattern in regexList:
if re.search(pattern, data):
...

关于python - 如何在Python中动态生成这段代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31963351/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com