# Python 3 code to demonstrate
# to remove elements present in other list
# using filter() + lambda
# initializing list
list1 = [1, 3, 4, 6, 7]
# initializing remove list
list2 = [3, 6]
# printing original list
print("The original list is : " + str(list1))
# printing remove list
print("The original list is : " + str(list2))
# using filter() + lambda to perform task
res = filter(lambda i: i not in list1, list2)
# printing result
print("The list after performing remove operation is : " + str(res))
Output-:
The original list is : [1, 3, 4, 6, 7]
The original list is : [3, 6]
The list after performing remove operation is : <filter object at 0x000001D5A0952FA0>
Expected output-:
The original list is : [1, 3, 4, 6, 7]
The original list is : [3, 6]
The list after performing remove operation is : [1, 4, 7]这里有什么问题?我为什么要犯这个错误。我真的不能把这件事当回事。我在名为“极客健忘”的网站上找到了这个,并试着运行它。
https://www.geeksforgeeks.org/python-remove-all-values-from-a-list-present-in-other-list/
发布于 2021-12-09 14:22:31
这两个列表位于错误的位置,要显示结果,可以将筛选器对象转换为列表。
res = list(filter(lambda i: i not in list2, list1))
print("The list after performing remove operation is : " + str(res))
OUTPUTS: The list after performing remove operation is : [1, 4, 7]发布于 2021-12-09 14:23:16
您需要更改筛选函数参数。您的代码应该是这样的
list1 = [1, 3, 4, 6, 7]
# initializing remove list
list2 = [3, 6]
# printing original list
print("The original list is : " + str(list1))
# printing remove list
print("The original list is : " + str(list2))
# using filter() + lambda to perform task
res = list(filter(lambda i: i not in list2, list1))
print(list1)
print(list2)
print(res)此代码的输出将如下所示
The original list is : [1, 3, 4, 6, 7]
The original list is : [3, 6]
[1, 3, 4, 6, 7]
[3, 6]
[1, 4, 7]https://stackoverflow.com/questions/70291438
复制相似问题