按两个 python 集合的不同元素过滤列表



在下面的示例中,我试图通过 setB 和 setC 中不同的元素过滤列表。我看不出如何纠正错误。

import pandas as  pd
listA = [ 10, 20, 30 , 40 , 50 , 60 , 70, 80, 90, 100]
setB = { 10, 30, 50 , 70, 80, }
setC = { 10, 30, 50}
listA[:, list(setB)[setB not in setC]]

TypeError Traceback(最近一次调用( 在 (( 中 ----> 1 列表 A[:, 列表(setB([setB 不在 setC 中]]

类型错误:列表索引必须是整数或切片,而不是元组

我们可以通过以下方法实现您所寻求的:

listA = [i for i in listA if i not in setB and i not in setC]

您将获得:

listA = [20, 40, 60, 90, 100]

最新更新