You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将字符串列表元素逐个传入函数,替换为函数生成的列表并清理空值?

西班牙语动词提取与列表处理实现方案

1. 修正函数返回值错误

原函数错误返回了输入参数,需改为返回提取到的动词列表。修正后的完整函数如下:

import spacy

# 加载西班牙语模型
nlp = spacy.load("es_core_news_sm")

def evaluates_if_substring_is_a_verb_func(input_str):
    list_verbs_in_element = []
    doc = nlp(input_str)
    # 遍历文本词元,提取POS标签为VERB的动词
    for token in doc:
        if token.pos_ == "VERB":
            list_verbs_in_element.append(token.text)
    # 修正返回值:返回提取到的动词列表
    return list_verbs_in_element

2. 列表元素替换与过滤

将输入列表的每个元素传入修正后的函数,用返回的动词列表替换原元素;随后过滤掉空列表或仅含空白字符的无效元素,得到目标结果:

# 示例输入列表(可替换为实际输入)
list_verbs_in_this_input = ["correr", "el perro saltar", "nosotros llegamos", "habrá una reunión", "   ", ""]

# 替换每个元素为函数返回的动词列表
processed_list = [evaluates_if_substring_is_a_verb_func(item) for item in list_verbs_in_this_input]

# 展平嵌套列表并过滤无效元素
final_result = [verb for sublist in processed_list for verb in sublist if verb.strip()]

print(final_result)
# 输出:['correr', 'saltar', 'llegamos', 'habrá']

关键说明

  • 函数修正:核心是把返回值从输入参数改为提取到的动词列表,解决原函数逻辑错误。
  • 列表处理:通过列表推导式完成元素替换,再通过嵌套推导式展平列表并过滤空值,确保结果符合预期。

内容的提问来源于stack exchange,提问作者Matt095

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 02:35:21