gpt4 book ai didi

python - 如何替换数组中的条目

转载 作者:太空宇宙 更新时间:2023-11-03 14:00:34 27 4
gpt4 key购买 nike

我有一个数组,例如:

key = ['*', '(DATE*', '*', '*', '*)', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '(GPE*', '*)', '*', '*', '*', '(DATE)', '*'] 

我有这样一个数组,我想为其执行类似的任务,

  1. 遍历数组

  2. 一旦我找到以“(”开头但不以“)”结尾的条目

  3. 替换下一个 '' 条目,直到我们找不到 ')' 并将 '*)' 替换为找到的以 '(' 开头的条目 strip

  4. 如果条目在 '()' 内,则应将其删除。至于倒数第二个元素(DATE)将仅替换为DATE

例如 我们有第二个条目“(DATE*”,后跟“”、“”、“*)”,因此这些条目应仅替换为 DATE

输出应该是:

key = ['*', 'DATE', 'DATE', 'DATE', 'DATE', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', 'GPE', 'GPE', '*', '*', '*', 'DATE', '*'] 

最佳答案

**Nothing but some regex and while loops**
import re
key = key = ['*', '(DATE*', '*', '*', '*)', '*', '*', '*', '*', '*', '*', '*', '*', '*',
'*', '*', '*', '*', '*', '*', '*', '*', '*', '(GPE*', '*)', '*', '*', '*', '(DATE)', '*']
val = 0
while val < len(key):
value = key[val]
if re.findall(r'\(',value):
value = re.findall(r'\w+', value)[0]
while re.findall(r'\)', key[val]) == []:
key[val] = value
val += 1
key[val] = value
val += 1
print key

输出 - ['*', 'DATE', 'DATE', 'DATE', 'DATE', '*', '*', '*', '*', '*', ' *', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*' , 'GPE', 'GPE', '*', '*', '*', 'DATE', '*']

关于python - 如何替换数组中的条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49626515/

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