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

Python:合并列表迭代优化及函数化改造需求问询

优雅实现同义词短语组合生成函数

我懂你想要的是一个可复用、更简洁的函数,来把每个短语里的目标词替换成所有同义词,生成所有可能的组合列表。这里有个非常优雅的方案,用Python的列表推导式就能搞定,完全满足你把两个列表作为函数入参的需求:

实现代码

def generate_synonym_phrases(synonyms, phrases, target_word='verb'):
    # 双重列表推导式:遍历每个短语,再遍历每个同义词做替换
    return [phrase.replace(target_word, syn) for phrase in phrases for syn in synonyms]

用法示例

用你给出的测试数据来验证:

synonymes = ['verb1', 'verb2', 'verb3']
phrases = ['blabla verb blabla', 'blibli verb blibli', 'verb bloblo bloblo']

# 调用函数生成结果
liste = generate_synonym_phrases(synonymes, phrases)
print(liste)

运行后会输出你期望的列表:

['blabla verb1 blabla', 'blabla verb2 blabla', 'blabla verb3 blabla', 'blibli verb1 blibli', 'blibli verb2 blibli', 'blibli verb3 blibli', 'verb1 bloblo bloblo', 'verb2 bloblo bloblo', 'verb3 bloblo bloblo']

额外说明

  • 这个函数还做了扩展:默认替换词是'verb',如果你的目标词不同,可以通过第三个参数target_word传入,比如generate_synonym_phrases(syns, phrases, target_word='action')
  • 如果需要更复杂的替换(比如匹配整个单词、不区分大小写),可以把replace换成re.sub,比如re.sub(r'\b' + target_word + r'\b', syn, phrase),记得先导入re模块。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 03:25:07