按两个python集的不同元素筛选列表
在下面的例子中,我试图通过setB和setC中不同的元素来过滤列表。我看不出如何纠正这个错误按两个python集的不同元素筛选列表,python,pandas,list,filter,set,Python,Pandas,List,Filter,Set,在下面的例子中,我试图通过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回溯(最近一次调用上次) 在() ---->
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回溯(最近一次调用上次) 在() ---->1 listA[:,list(setB)[setC中没有setB]]
TypeError:列表索引必须是整数或切片,而不是元组。我们可以通过以下方法实现您的目标:
listA = [i for i in listA if i not in setB and i not in setC]
您将获得:
listA = [20, 40, 60, 90, 100]
你知道你的输出应该是什么样子吗?也许你想要一个对称的差异:
[*过滤器((setB^setC)。\uuuu包含\uuuuu,listA)]
你能添加你期望的结果吗?