如何在Python中将单词列表转换为多组完整语句?
Python实现从候选短语列表生成完整语句
需求说明
给定多个字段对应的候选短语列表(每个列表包含从单个词到完整语句的不同组合),提取出每个字段对应的完整语句(即包含该字段所有核心词汇的最长短语)。
实现代码
# 定义输入数据:键为字段中文名称,值为候选短语列表 input_data = { "姓名": ["FirstName", "LastName", "FirstNameLastName"], "客户账号": ["Customer", "Account", "Number", "Customer Account", "Customer Number", "Customer Account Number"] } def get_complete_statement(candidates): # 提取该字段的所有核心单个词汇 single_words = {word for phrase in candidates for word in phrase.split()} # 筛选包含所有核心词汇的短语,再选最长的那个 valid_phrases = [p for p in candidates if all(word in p.split() for word in single_words)] return max(valid_phrases, key=lambda x: len(x)) if valid_phrases else None # 遍历生成结果 for field, candidates in input_data.items(): complete_sentence = get_complete_statement(candidates) print(f"{field}: {complete_sentence}")
代码说明
- 用字典存储输入数据,键对应字段的中文名称,值为该字段的候选短语集合。
get_complete_statement函数的逻辑:- 先从候选列表中拆分出所有核心单个词汇;
- 筛选出包含所有核心词汇的短语,确保选出的是完整语句;
- 从有效短语中选取长度最长的,即为目标结果。
- 遍历所有字段,输出每个字段对应的完整语句。
运行结果
姓名: FirstNameLastName 客户账号: Customer Account Number
内容的提问来源于stack exchange,提问作者Subash S
相关产品推荐
相关产品推荐

