如何实现匹配原列表与拼接词列表的函数并集成linsok功能?
解决方案
实现逻辑
- 先通过
linsok完成用户输入接收与原单词存在性验证,若输入单词不在列表中则终止流程 - 对目标单词(用户输入的单个单词或遍历原列表所有单词)调用
kupering生成4种拼接变体 - 再次调用
linsok检查每个变体是否存在于原列表,将符合条件的组合整理成[原单词, 拼接词]格式的配对列表返回
代码示例
首先是你已有的两个函数的基础实现(可根据实际需求调整逻辑):
def linsok(lista, elem): # 判断elem是否在lista中,返回存在/不存在的确认信息 if elem in lista: return f"单词 '{elem}' 存在于列表中" else: return f"单词 '{elem}' 不存在于列表中" def kupering(ord): # 生成输入单词的4种拼接变体,返回变体列表 # 这里的变体规则仅作示例,你可以替换为自己的逻辑 return [ f"{ord}abc", f"abc{ord}", ord[:2] + ord, ord + ord[-2:] ]
第三个函数的实现
def hitta_par(original_list): # 调用linsok获取用户输入并验证存在性 target_word = input("请输入一个原列表中的单词:") check_msg = linsok(original_list, target_word) print(check_msg) if "不存在" in check_msg: return [] # 生成目标单词的拼接变体 variants = kupering(target_word) matched_pairs = [] # 遍历变体,调用linsok检查是否存在于原列表 for variant in variants: variant_check = linsok(original_list, variant) if "存在" in variant_check: matched_pairs.append([target_word, variant]) # 如果你需要遍历整个原列表找所有配对,替换为以下代码块: # matched_pairs = [] # for word in original_list: # variants = kupering(word) # for variant in variants: # if "存在" in linsok(original_list, variant): # matched_pairs.append([word, variant]) return matched_pairs
使用示例
# 测试用的原单词列表 word_list = ["apple", "appleabc", "abcapple", "appapple", "applele"] # 调用函数 result = hitta_par(word_list) print("找到的配对:", result)
内容的提问来源于stack exchange,提问作者rawestan
相关产品推荐
相关产品推荐

