【问题标题】:Filtering a list by the different elements of two python sets [closed]通过两个python集的不同元素过滤列表[关闭]
【发布时间】:2020-10-23 12:23:22
【问题描述】:

在下面的示例中,我试图通过 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 listA[:, list(setB)[setB不在setC中]]

TypeError:列表索引必须是整数或切片,而不是元组

【问题讨论】:

  • 你知道你的输出应该是什么样子吗?也许你想要一个对称的差异:[*filter((setB ^ setC).__contains__, listA)]
  • 您能添加您的预期结果吗?

标签: python pandas list filter set


【解决方案1】:

我们可以通过以下方式实现您的目标:

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

你会得到:

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

【讨论】:

    猜你喜欢
    • 2013-06-28
    • 2023-03-23
    • 2014-06-03
    • 1970-01-01
    • 2021-05-06
    • 1970-01-01
    • 1970-01-01
    • 2018-06-13
    • 2011-02-09
    相关资源
    最近更新 更多