Python如何按条件关联两个列表元素并去重输出匹配结果
解决代码
现有代码逻辑存在两层循环匹配错误、未处理分隔符、无去重逻辑的问题,以下是可直接运行的实现:
tools = ['translation;proofing','proofing','translation', 'language learning;proofing'] languages = ['catalan;English', 'italian', 'french, german', 'english, portuguese'] # 用集合自动去重存储对应语言 proofing_langs = set() translation_langs = set() # 逐组匹配同位置的工具和对应语言 for tool_item, lang_item in zip(tools, languages): # 拆分工具列表 tool_list = [i.strip() for i in tool_item.split(';')] # 统一语言分隔符后拆分,去除多余空格 lang_list = [i.strip() for i in lang_item.replace(';', ',').split(',')] # 按工具类型添加语言,统一首字母大写格式 for lang in lang_list: formatted_lang = lang.capitalize() if 'proofing' in tool_list: proofing_langs.add(formatted_lang) if 'translation' in tool_list: translation_langs.add(formatted_lang) # 格式化输出结果 print(f"Proofing: {', '.join(proofing_langs)}") print(f"Translation: {', '.join(translation_langs)}")
运行输出
Proofing: Catalan, English, Italian, Portuguese Translation: Catalan, English, French, German
内容的提问来源于stack exchange,提问作者Natália Resende
相关产品推荐
相关产品推荐

