Python比较两个列表,然后删除重复字符并将结果放入新列表
这个应该不会太难,但它给我带来了麻烦: 假设我有两个列表:Python比较两个列表,然后删除重复字符并将结果放入新列表,python,list,Python,List,这个应该不会太难,但它给我带来了麻烦: 假设我有两个列表: list1 = ['the sky is blue', 'I am happy', 'Where is the car', 'lets eat here'] list2 = ['the','', 'Where', 'lets'] 我试图做的是比较列表1和列表2,如果列表2的内容与列表1中的任何内容匹配,这些字符将从列表的成员中删除 对于每一个新成员,我希望它被添加到一个新的列表,目前将是空的 list3 = [] 清单1可以保持原样
list1 = ['the sky is blue', 'I am happy', 'Where is the car', 'lets eat here']
list2 = ['the','', 'Where', 'lets']
我试图做的是比较列表1和列表2,如果列表2的内容与列表1中的任何内容匹配,这些字符将从列表的成员中删除
对于每一个新成员,我希望它被添加到一个新的列表,目前将是空的
list3 = []
清单1可以保持原样,但重要的是清单3应如下所示:
list3 = ['sky is blue', 'I am happy', 'is the car', 'eat here']
请注意,列表3中的第一个单词被删除,因为在比较列表1和列表2时,该单词匹配。希望这是有意义的
为了这里的笑声,我尝试了
list1 = ['the sky is blue', 'I am happy', 'Where is the car', 'lets eat here']
list2 = ['the','', 'Where', 'lets']
list3 = []
for w in list2:
if w in list1:
addthis = list1.remove(w)
list3.append(addthis)
谢谢在列表理解中使用
zip
来实现这一点<代码>删除之后剩余的空格
list1 = ['the sky is blue', 'I am happy', 'Where is the car', 'lets eat here']
list2 = ['the','', 'Where', 'lets']
list3 = [x.replace(y,"").strip() for x,y in zip(list1,list2)]
print(list3)
结果:
['sky is blue', 'I am happy', 'is the car', 'eat here']
为了明确起见,您只想对相应的列表项执行删除操作,而不是对
list2
中的所有项执行删除操作,对list1
中的每个项执行删除操作,对吗?看起来您想让我们为您编写一些代码。虽然许多用户愿意为陷入困境的程序员编写代码,但他们通常只在海报已经试图自己解决问题时才提供帮助。演示这项工作的一个好方法是包括您迄今为止编写的代码、示例输入(如果有)、预期输出和实际获得的输出(输出、回溯等)。你提供的细节越多,你可能得到的答案就越多。检查和。抱歉,我认为我的尝试是如此错误,他们甚至没有理由写它们down@TigerhawkT3这并不完全相同,OP似乎需要删除相应的子字符串,而不是所有项的相同子字符串。“但距离足够近了。”蒂格霍克特3同意。请注意,我没有重新开始这个问题。你回答了下面的问题。谢谢,我会试试看。我要学这个拉链!你就是那个人!快速提问,为什么要在替换方法中添加“”,看起来它只是一个占位符之类的,因为我刚取出“”,程序因为需要两个参数而崩溃。@Jean另一种方法:@Kevin-“
是一个空字符串。请阅读有关这些功能的文档,因为本网站不是教程服务。