python列表,在list2中删除list1的内容
python列表,在list2中删除list1的内容
这个问题已经有答案了:
我有两个列表
list1=['value1', 'value2', 'value3'] list2=['value1', 'value2', 'value3', 'value4', 'value5']
我想从list2中删除list1的内容
结果应该是:
['value4', 'value5']
admin 更改状态以发布 2023年5月23日
你可以通过将list1转换为set,然后通过列表推导式创建一个新的列表,其中包含不在list1中的list2项。
list1=['value1', 'value2', 'value3'] list2=['value1', 'value2', 'value3', 'value4', 'value5'] list1_set = set(list1) result = [i for i in list2 if i not in list1_set] print(result)
输出
['value4', 'value5']
将list1转换为set对于性能更好,因为在set中检查项是否存在比在list中更快。